home *** CD-ROM | disk | FTP | other *** search
/ The World's Largest Collection of Windows Software / The World's Largest Collection of Windows Software - Disc 1.iso / connect / _j2 / wvnsc926 / rcs / wvglob.h < prev    next >
C/C++ Source or Header  |  1994-09-21  |  91KB  |  3,406 lines

  1. head     1.59;
  2. branch   ;
  3. access   ;
  4. symbols  V80:1.13 V76d:1.2;
  5. locks    ; strict;
  6. comment  @ * @;
  7.  
  8.  
  9. 1.59
  10. date     94.09.18.22.46.08;  author jcooper;  state Exp;
  11. branches ;
  12. next     1.58;
  13.  
  14. 1.58
  15. date     94.09.18.00.14.53;  author jcooper;  state Exp;
  16. branches ;
  17. next     1.57;
  18.  
  19. 1.57
  20. date     94.09.06.12.46.21;  author brydon;  state Exp;
  21. branches ;
  22. next     1.56;
  23.  
  24. 1.56
  25. date     94.09.02.19.16.32;  author martin;  state Exp;
  26. branches ;
  27. next     1.55;
  28.  
  29. 1.55
  30. date     94.08.24.18.40.15;  author mrr;  state Exp;
  31. branches ;
  32. next     1.54;
  33.  
  34. 1.54
  35. date     94.08.24.18.00.29;  author jcooper;  state Exp;
  36. branches ;
  37. next     1.53;
  38.  
  39. 1.53
  40. date     94.08.23.23.15.34;  author martin;  state Exp;
  41. branches ;
  42. next     1.52;
  43.  
  44. 1.52
  45. date     94.08.11.02.25.59;  author dumoulin;  state Exp;
  46. branches ;
  47. next     1.51;
  48.  
  49. 1.51
  50. date     94.08.11.00.09.17;  author jcooper;  state Exp;
  51. branches ;
  52. next     1.50;
  53.  
  54. 1.50
  55. date     94.08.04.05.49.30;  author dumoulin;  state Exp;
  56. branches ;
  57. next     1.49;
  58.  
  59. 1.49
  60. date     94.07.28.21.56.32;  author rushing;  state Exp;
  61. branches ;
  62. next     1.48;
  63.  
  64. 1.48
  65. date     94.07.26.18.39.45;  author dumoulin;  state Exp;
  66. branches ;
  67. next     1.47;
  68.  
  69. 1.47
  70. date     94.07.26.16.10.51;  author gardnerd;  state Exp;
  71. branches ;
  72. next     1.46;
  73.  
  74. 1.46
  75. date     94.07.25.22.41.22;  author pearse_w_r;  state Exp;
  76. branches ;
  77. next     1.45;
  78.  
  79. 1.45
  80. date     94.07.25.18.51.48;  author jcooper;  state Exp;
  81. branches ;
  82. next     1.44;
  83.  
  84. 1.44
  85. date     94.06.30.16.37.04;  author dumoulin;  state Exp;
  86. branches ;
  87. next     1.43;
  88.  
  89. 1.43
  90. date     94.06.08.21.01.45;  author gardnerd;  state Exp;
  91. branches ;
  92. next     1.42;
  93.  
  94. 1.42
  95. date     94.06.06.22.06.13;  author gardnerd;  state Exp;
  96. branches ;
  97. next     1.41;
  98.  
  99. 1.41
  100. date     94.06.06.21.23.21;  author mrr;  state Exp;
  101. branches ;
  102. next     1.40;
  103.  
  104. 1.40
  105. date     94.06.01.19.00.00;  author gardnerd;  state Exp;
  106. branches ;
  107. next     1.39;
  108.  
  109. 1.39
  110. date     94.05.23.19.51.51;  author rushing;  state Exp;
  111. branches ;
  112. next     1.38;
  113.  
  114. 1.38
  115. date     94.05.23.18.37.00;  author jcooper;  state Exp;
  116. branches ;
  117. next     1.37;
  118.  
  119. 1.37
  120. date     94.05.02.20.32.55;  author rushing;  state Exp;
  121. branches ;
  122. next     1.36;
  123.  
  124. 1.36
  125. date     94.03.01.19.10.19;  author rushing;  state Exp;
  126. branches ;
  127. next     1.35;
  128.  
  129. 1.35
  130. date     94.02.24.21.28.49;  author jcoop;  state Exp;
  131. branches ;
  132. next     1.34;
  133.  
  134. 1.34
  135. date     94.02.16.20.59.17;  author rushing;  state Exp;
  136. branches ;
  137. next     1.33;
  138.  
  139. 1.33
  140. date     94.02.04.02.19.12;  author rushing;  state Exp;
  141. branches ;
  142. next     1.32;
  143.  
  144. 1.32
  145. date     94.01.24.17.39.47;  author jcoop;  state Exp;
  146. branches ;
  147. next     1.31;
  148.  
  149. 1.31
  150. date     94.01.17.21.54.58;  author jcoop;  state Exp;
  151. branches ;
  152. next     1.30;
  153.  
  154. 1.30
  155. date     94.01.12.19.25.59;  author mrr;  state Exp;
  156. branches ;
  157. next     1.29;
  158.  
  159. 1.29
  160. date     94.01.05.22.36.43;  author mrr;  state Exp;
  161. branches ;
  162. next     1.28;
  163.  
  164. 1.28
  165. date     93.12.08.20.21.15;  author dumoulin;  state Exp;
  166. branches ;
  167. next     1.27;
  168.  
  169. 1.27
  170. date     93.12.08.01.29.07;  author rushing;  state Exp;
  171. branches ;
  172. next     1.26;
  173.  
  174. 1.26
  175. date     93.08.25.18.55.19;  author mbretherton;  state Exp;
  176. branches ;
  177. next     1.25;
  178.  
  179. 1.25
  180. date     93.08.18.21.49.21;  author rushing;  state Exp;
  181. branches ;
  182. next     1.24;
  183.  
  184. 1.24
  185. date     93.08.17.21.48.44;  author dumoulin;  state Exp;
  186. branches ;
  187. next     1.23;
  188.  
  189. 1.23
  190. date     93.08.05.20.06.07;  author jcoop;  state Exp;
  191. branches ;
  192. next     1.22;
  193.  
  194. 1.22
  195. date     93.07.13.16.03.04;  author riordan;  state Exp;
  196. branches ;
  197. next     1.21;
  198.  
  199. 1.21
  200. date     93.07.09.19.13.36;  author rushing;  state Exp;
  201. branches ;
  202. next     1.20;
  203.  
  204. 1.20
  205. date     93.07.06.21.09.09;  author cnolan;  state Exp;
  206. branches ;
  207. next     1.19;
  208.  
  209. 1.19
  210. date     93.06.28.17.52.17;  author rushing;  state Exp;
  211. branches ;
  212. next     1.18;
  213.  
  214. 1.18
  215. date     93.06.25.20.27.10;  author dumoulin;  state Exp;
  216. branches ;
  217. next     1.17;
  218.  
  219. 1.17
  220. date     93.06.22.19.08.56;  author rushing;  state Exp;
  221. branches ;
  222. next     1.16;
  223.  
  224. 1.16
  225. date     93.06.22.16.43.58;  author bretherton;  state Exp;
  226. branches ;
  227. next     1.15;
  228.  
  229. 1.15
  230. date     93.06.22.16.14.21;  author rushing;  state Exp;
  231. branches ;
  232. next     1.14;
  233.  
  234. 1.14
  235. date     93.06.14.17.05.16;  author rushing;  state Exp;
  236. branches ;
  237. next     1.13;
  238.  
  239. 1.13
  240. date     93.06.11.00.11.26;  author rushing;  state Exp;
  241. branches ;
  242. next     1.12;
  243.  
  244. 1.12
  245. date     93.06.10.18.25.40;  author rushing;  state Exp;
  246. branches ;
  247. next     1.11;
  248.  
  249. 1.11
  250. date     93.06.01.18.23.17;  author rushing;  state Exp;
  251. branches ;
  252. next     1.10;
  253.  
  254. 1.10
  255. date     93.05.29.03.32.30;  author rushing;  state Exp;
  256. branches ;
  257. next     1.9;
  258.  
  259. 1.9
  260. date     93.05.28.17.32.11;  author rushing;  state Exp;
  261. branches ;
  262. next     1.8;
  263.  
  264. 1.8
  265. date     93.05.28.17.18.00;  author rushing;  state Exp;
  266. branches ;
  267. next     1.7;
  268.  
  269. 1.7
  270. date     93.05.24.23.57.22;  author rushing;  state Exp;
  271. branches ;
  272. next     1.6;
  273.  
  274. 1.6
  275. date     93.05.18.22.10.45;  author rushing;  state Exp;
  276. branches ;
  277. next     1.5;
  278.  
  279. 1.5
  280. date     93.05.13.20.00.38;  author rushing;  state Exp;
  281. branches ;
  282. next     1.4;
  283.  
  284. 1.4
  285. date     93.05.13.16.17.45;  author rushing;  state Exp;
  286. branches ;
  287. next     1.3;
  288.  
  289. 1.3
  290. date     93.03.30.20.49.30;  author DUMOULIN;  state Exp;
  291. branches ;
  292. next     1.2;
  293.  
  294. 1.2
  295. date     93.03.30.17.08.12;  author rushing;  state Exp;
  296. branches ;
  297. next     1.1;
  298.  
  299. 1.1
  300. date     93.02.16.20.54.42;  author rushing;  state Exp;
  301. branches ;
  302. next     ;
  303.  
  304.  
  305. desc
  306. @winvn version 0.76 placed into RCS
  307. @
  308.  
  309.  
  310. 1.59
  311. log
  312. @More cleanup for 92.6.  Added IsBusy to TypTextBlock
  313. @
  314. text
  315. @/*---- Module WVGLOB.H  -------------------------------------------- */
  316. /* WVGLOB.H contains all the global types and variables for WinVN.   */
  317. /* Stylistically, this should probably be separated into several     */
  318. /* header files, but this is what you've got for now.                */
  319. /* cf WVDOC.C -- it describes some of these structures.              */
  320. /*
  321.  
  322.  * $Id: wvglob.h 1.58 1994/09/18 00:14:53 jcooper Exp $
  323.  */
  324.  
  325. #ifdef _WIN32
  326. #ifndef WIN32
  327. #define WIN32
  328. #endif
  329. #endif
  330.  
  331. #ifdef WIN32
  332. #ifndef _WIN32
  333. #define _WIN32
  334. #endif
  335. #endif
  336.  
  337. /* these are supposed be defined in windowsx.h, but they aren't in mine! */
  338. #ifndef GET_WM_COMMAND_CMD
  339.  #ifdef WIN32
  340.   #define GET_WM_COMMAND_CMD(wp, lp)  HIWORD(wp)
  341.   #define GET_WM_COMMAND_ID(wp, lp)   LOWORD(wp)
  342.   #define GET_WM_COMMAND_HWND(wp, lp) (HWND)lp)
  343.  #else
  344.   #define GET_WM_COMMAND_CMD(wp, lp)  HIWORD(lp)        
  345.   #define GET_WM_COMMAND_ID(wp, lp)   (wp)              
  346.   #define GET_WM_COMMAND_HWND(wp, lp) ((HWND)LOWORD(lp))
  347.  #endif
  348. #endif
  349.  
  350. #ifdef WIN32
  351. #define huge far
  352. #endif
  353.  
  354. #define BUFSIZE            1024
  355. #define TEMPBUFSIZE        1240
  356. #define MAXHEADERLINE        256
  357. #define MAXFINDSTRING        80
  358. #define MAXDIALOGSTRING        255
  359.  
  360. #define MAXFILENAME        75
  361. #define MAXCHARS        80
  362. #define MAXLINES        24
  363.  
  364. /* this has been increased for XOVER - some lines are *very* long */
  365. #define MAXCOMMLINE        1536 
  366. #define MAXINTERNALLINE        180
  367. #define MAXOUTLINE        255
  368. #define MAXPOSTLENGTH        60000    /* max length for a posting/mail edit window */
  369. #define MAXBOUNDARYLEN        70    /* max length for MIME boundary  */
  370. #define MAXNEWGROUPSASK        200    /* limit of groups in newgroups dialog box */
  371.  
  372. #include <time.h>
  373. #include <commdlg.h>
  374.  
  375. typedef long TypLineID;
  376.  
  377. typedef struct structtextselect
  378. {
  379.   int LineNum;            /* Line number when selecting text -- Line Ord  */
  380.   int CharNum;            /* Character number when selecting text         */
  381.   /* The 1st LineNum in the Doc and the 1st CharNum in the line are 0   */
  382. }
  383. TextSelect;
  384.  
  385. typedef struct structdoc
  386. {
  387.   HANDLE hFirstBlock;        /* handle to first textblock in doc.        */
  388.   HANDLE hLastBlock;        /* unused.                                  */
  389.   unsigned int TotalLines;    /* total # of lines in doc.                 */
  390.   unsigned int LongestLine;    /* # of bytes in the longest line of doc    */
  391.   unsigned int HeaderLines;    /* total number of lines in header of doc
  392.                    (incl. blank line) */
  393.   unsigned int ActiveLines;    /* # of selected or otherwise active lines  */
  394.   unsigned int CountedLines;    /* # of counted lines, as in subscr. groups */
  395.   unsigned int BlockSize;    /* # of bytes in a textblock                */
  396.   unsigned int SplitSize;    /* textblock split point in bytes           */
  397.   HANDLE hCurAddBlock;        /* hBlock to point at which to add lines.   */
  398.   unsigned int AddOffset;    /* offset in bytes for point to add lines   */
  399.   TypLineID AddLineID;        /* LineID of place to add lines.            */
  400.   HANDLE hCurTopScBlock;    /* hBlock of current top line of window     */
  401.   unsigned int TopScOffset;
  402.   TypLineID TopScLineID;
  403.   unsigned int TopLineOrd;    /* ordinal in doc of top line in window     */
  404.   HANDLE hLastSeenBlock;
  405.   unsigned int LastSeenOffset;
  406.   TypLineID LastSeenLineID;
  407.   HANDLE hFindBlock;        /* location of place to start next search   */
  408.   unsigned int FindOffset;    /* for "SearchStr"                          */
  409.   TypLineID FindLineID;
  410.   unsigned int FindTextOffset;
  411.   char SearchStr[MAXFINDSTRING]; /* Search string for current search    */
  412.   unsigned int ScXOffset;    /* # of chars offset for horizontal scroll  */
  413.   unsigned int ScXChars;    /* # of chars/line for current window size  */
  414.   unsigned int ScYLines;    /* # of lines that fit in current window    */
  415.   unsigned int ScXWidth;    /* current size of client area of window    */
  416.   unsigned int ScYHeight;
  417.   HWND hDocWnd;
  418.   struct structdoc *ParentDoc;    /* pointer to parent document            */
  419.   HANDLE hParentBlock;        /* points to line in parent doc          */
  420.   unsigned int ParentOffset;    /* that corresponds to/describes this    */
  421.   TypLineID ParentLineID;    /* document                              */
  422.   unsigned int OffsetToText;
  423.   BOOL InUse;            /* TRUE if this TypDoc in use.           */
  424.   int DocType;            /* DOCTYPE_xxx                           */
  425.   BOOL TextSelected;        /* Indicates text selected               */
  426.   TextSelect BeginSelect;    /* Line and Char where selection began   */
  427.   TextSelect EndSelect;        /* Line and Char where selection ended   */
  428. }
  429. TypDoc;
  430.  
  431. typedef struct structblock
  432. {
  433.   HANDLE hPrevBlock;        /* handle of previous block, or 0               */
  434.   HANDLE hNextBlock;        /* handle of next block in document, or 0       */
  435.   HANDLE hCurBlock;        /* handle of this block                         */
  436.   int LWAp1;            /* # of used data bytes in block, inc header    */
  437.   int NumLines;            /* # of lines in this block                     */
  438.   int NumActiveLines;        /* # of active lines in this block.             */
  439.   TypDoc *OwnerDoc;        /* pointer to document this block is in.        */
  440.   int eob;            /* end-of-block; must be just before 1st line.  */
  441.   /* Text lines */
  442.   /* Another EOB marker */
  443. }
  444. TypBlock;
  445.  
  446. typedef struct structline
  447. {
  448.   int length;            /* Total # of bytes in line, all-inclusive    */
  449.   TypLineID LineID;        /* Unique identifier for this line.           */
  450.   int active;            /* =1 if line should be displayed, else 0     */
  451.   /* Bytes of text */
  452.   /* Another copy of length */
  453. }
  454. TypLine;
  455.  
  456. typedef struct structtext
  457. {
  458.   int NameLen;            /* # of bytes of text                          */
  459. }
  460. TypText;
  461.  
  462. typedef struct structgroup
  463. {
  464.   char Subscribed;        /* =TRUE if subscribed to this group.   */
  465.   char Selected;        /* =TRUE if selected                    */
  466.   char Determined;        /* =TRUE if group info has been retrieved */
  467.   int NameLen;            /* # of bytes in group name             */
  468.   TypDoc *SubjDoc;        /* points to doc containing subjs       */
  469.   unsigned long ServerEstNum;    /* est # of arts in server              */
  470.   unsigned long ServerFirst;    /* # of first art that server has.      */
  471.   unsigned long ServerLast;    /* # of last art that server has.       */
  472.   unsigned long HighestPrevSeen; /* # of highest art server had in last  */
  473.   /* session, from "s<num>" newsrc field  */
  474.   HANDLE header_handle;        /* handle to global block of header array mem */
  475.   HANDLE thread_handle;        /* handle to global block of thread ind. pointers */
  476.   long int total_headers;    /* total # of headers in array */
  477.   unsigned int nRanges;        /* # of TypRanges describing seen arts  */
  478.   /* Name of group *//* name of group, zero-terminated       */
  479.   /* Ranges of articles seen *//* array of TypRanges, of seen articles */
  480. }
  481. TypGroup;
  482.  
  483. typedef struct structarticle
  484. {
  485.   unsigned long Number;        /* Server's number for this article    */
  486.   char Seen;            /* =TRUE if article seen               */
  487.   char Selected;        /* =TRUE if article selected           */
  488.   TypDoc *ArtDoc;        /* points to doc with actual article   */
  489.   int NameLen;            /* # of bytes in subject line */
  490.   /* Subject line of article */
  491. }
  492. TypArticle;
  493.  
  494. /* the size of this struct *must* be a power of two for win16.  'huge' */
  495. /* arrays require this. */
  496. /* (+ 1 1 1 4 2 4 105 74 30 30 4) => 256 */
  497.  
  498. #define HEADER_SUBJECT_LENGTH    105
  499. #define HEADER_FROM_LENGTH    74
  500. #define HEADER_MESSAGE_ID_LENGTH 30
  501. #define HEADER_REFERENCES_LENGTH 30
  502.  
  503. /* Offset used to calculate offset for LongestLine */
  504. #define ARTICLE_SUBJECT_OFFSET    40
  505. #define GROUP_NAME_OFFSET    10
  506.  
  507. typedef struct
  508. {
  509.   char Seen;
  510.   char Selected;
  511.   char thread_depth;
  512.   char subject[HEADER_SUBJECT_LENGTH];
  513.   unsigned long number;
  514.   unsigned int lines;
  515.   /*   char date[9];     JD 6/25/93  */
  516.   time_t date;
  517.   char from[HEADER_FROM_LENGTH];
  518.   char message_id[HEADER_MESSAGE_ID_LENGTH];
  519.   char references[HEADER_REFERENCES_LENGTH];
  520.   TypDoc *ArtDoc;
  521. }
  522. TypHeader;
  523.  
  524. typedef TypHeader huge *header_p;
  525.  
  526. typedef long huge *thread_array;
  527.  
  528. typedef thread_array huge *thread_array_p;
  529.  
  530. typedef char huge *char_p;
  531.  
  532. typedef struct structrange
  533. {
  534.   long int First;
  535.   long int Last;
  536. }
  537. TypRange;
  538.  
  539. /* TypMRRFile is used to describe a file; I use it because Windows */
  540. /* doesn't provide much in the way of disk I/O support.  */
  541.  
  542. typedef struct structMRRfile
  543. {
  544.   HFILE hFile;            /* handle to file                            */
  545.   OFSTRUCT of;
  546.   char buf[BUFSIZE];        /* my I/O buffer.                            */
  547.   HANDLE hthis;            /* handle to this structure                  */
  548.   int bufidx;            /* Index to next place in buf                */
  549.   int bytesread;        /* for reads, # of bytes read in last read   */
  550.   int mode;            /* mode in which to open file.               */
  551.   int eofflag;            /* whether we have reached EOF (read)        */
  552. }
  553. TypMRRFile;
  554.  
  555. #define CtoX(c) (c*CharWidth + SideSpace)
  556. #define LtoY(l) (l*LineHeight + TopSpace)
  557. #define EDITID   1        /* ID of edit box, to identify for return values */
  558. #define MAXMEMONAME 15        /* Number of chars in memo name */
  559. #define MEMONAMECHARS (MAXMEMONAME+2)
  560. #define MAXVIEWS 10
  561. #define END_OF_BLOCK (-1)
  562. #define BLOCK_SIZE  4096
  563. /*  RangeOffset gives the number of bytes from the beginning of
  564.  *  a Group structure to the first Range field, given the length
  565.  *  of the name entry.
  566.  */
  567. #define RangeOffset(nlen) (((nlen+2)/2)*2 + sizeof(TypGroup))
  568.  
  569. #ifdef WINMAIN
  570. #define DEF
  571. #else
  572. #define DEF extern
  573. #endif
  574.  
  575. DEF TypDoc NetDoc;
  576. DEF TypDoc DebugCommDoc;
  577.  
  578. #define MRR_SCROLL_LINEUP    0
  579. #define MRR_SCROLL_LINEDOWN  1
  580. #define MRR_SCROLL_PAGEUP    2
  581. #define MRR_SCROLL_PAGEDOWN  3
  582.  
  583. /* This structure maps between keystrokes and mouse events.
  584.  * From an idea on p. 137 of Charles Petzold's book.
  585.  * If you change the definition, be sure to update NUMKEYS.
  586.  */
  587. #define NUMKEYS 6
  588. #ifndef MAC
  589. DEF struct
  590. {
  591.   WORD wVirtKey;
  592.   int CtlState;
  593.   int iMessage;
  594.   WORD wRequest;
  595. }
  596. key2scroll[NUMKEYS]
  597. #ifdef WINMAIN
  598. =
  599. {
  600.   VK_PRIOR, 0, WM_VSCROLL, SB_PAGEUP,
  601.   VK_NEXT, 0, WM_VSCROLL, SB_PAGEDOWN,
  602.   VK_UP, 0, WM_VSCROLL, SB_LINEUP,
  603.   VK_DOWN, 0, WM_VSCROLL, SB_LINEDOWN,
  604.   VK_LEFT, 0, WM_HSCROLL, SB_LINEUP,
  605.   VK_RIGHT, 0, WM_HSCROLL, SB_LINEDOWN
  606.   }
  607. #endif
  608. ;
  609. #endif
  610.  
  611. DEF BOOL Initializing;
  612. #define INIT_DONE                0
  613. #define INIT_READING_NEWSRC      1
  614. #define INIT_ESTAB_CONN          2
  615. #define INIT_SCANNING_NETDOC     3
  616. #define INIT_GETTING_LIST        4
  617. #define INIT_NOT_CONNECTED       5
  618. #define INIT_READY               6
  619.  
  620. #define MAXGROUPWNDS   4
  621. #define MAXARTICLEWNDS 4
  622. #define MAXPOSTWNDS    20
  623. #define MAXMAILWNDS    20
  624.  
  625. DEF TypDoc GroupDocs[MAXGROUPWNDS];
  626. DEF TypDoc ArticleDocs[MAXARTICLEWNDS];
  627. DEF int NumGroupWnds;
  628. DEF int NumArticleWnds;
  629.  
  630. typedef struct WndEditStruct
  631. {
  632.   HWND hWnd;
  633.   HWND hWndEdit;
  634.   int dirty;
  635.   TypDoc *Doc;
  636. }
  637. WndEdit;
  638.  
  639. #define DT_CLEAN 0
  640. #define DT_INITIALISING -1
  641. #define DT_DIRTY 1
  642.  
  643. DEF WndEdit WndPosts[MAXPOSTWNDS];
  644. DEF WndEdit WndMails[MAXMAILWNDS];
  645. DEF int NumPostWnds;
  646. DEF int NumMailWnds;
  647.  
  648. #define DOCTYPE_UNKNOWN  0
  649. #define DOCTYPE_NET      1
  650. #define DOCTYPE_GROUP    2
  651. #define DOCTYPE_ARTICLE  4
  652. #define DOCTYPE_POSTING  8
  653. #define DOCTYPE_MAIL     16
  654.  
  655. /* Variables and constants for handling the FSA used to deal with    */
  656. /* talking to the NNTP server.                                       */
  657.  
  658. DEF int CommState;        /* current state in comm FSA */
  659. DEF BOOL CommBusy;        /* =TRUE if comm line busy interacting w/ server */
  660. DEF BOOL CommDecoding;        /* =TRUE if comm line busy decoding lines from server */
  661. DEF WndEdit *PostEdit, *MailEdit;    /* set to post/mail window during send */
  662. DEF TypDoc *CommDoc;        /* Document currently receiving lines from server   */
  663. DEF HWND CommWnd;        /* Window containing details of document currently
  664.                    talking to server */
  665. DEF HWND hVerDlgList;        /* Handle to info in the Version Dialog Box */
  666. DEF char CommLineIn[MAXCOMMLINE];    /* current input line being built by FSA   */
  667. DEF char *CommLinePtr;        /* pointer to next place to put char in CommLineIn  */
  668. DEF char *CommLineLWAp1;    /* if we get this far, we're at end of buffer       */
  669. DEF char IgnoreCommCh;        /* char to ignore when reading from server          */
  670. DEF char EOLCommCh;        /* char that indicates end of line upon input       */
  671. DEF TypDoc *ActiveGroupDoc;
  672. DEF TypDoc *ActiveArticleDoc;
  673.  
  674. #define MAXGROUPNAME 80
  675. DEF char CurrentGroup[MAXGROUPNAME];    /* name of group currently selected on
  676.                        server */
  677.  
  678. DEF BOOL UsingSocket;        /* =TRUE if using PC/TCP rather than serial I/O     */
  679.  
  680. DEF BOOL threadp;
  681. DEF BOOL xoverp;
  682. DEF BOOL force_xhdr;
  683.  
  684. #define MAXNNTPSIZE 40
  685. DEF char NNTPHost[MAXNNTPSIZE];
  686. DEF char NNTPService[MAXNNTPSIZE];
  687. DEF char SMTPHost[MAXNNTPSIZE];
  688. DEF char NNTPUserName[MAXNNTPSIZE];
  689. DEF char NNTPPasswordEncrypted[2 * MAXNNTPSIZE];
  690. DEF BOOL AuthReqPost;        /* TRUE if we may not post at all unless authenticated */
  691. DEF BOOL AuthReqMail;        /* TRUE if we may not send mail unless authenticated */
  692. DEF BOOL Authenticated        /* TRUE if we've been authenticated by NNTP server */
  693. #ifdef WINMAIN
  694. = FALSE
  695. #endif
  696.  ;
  697. /* This is the name that was successfully authenticated by the NNTP server.
  698.  * It might not be the same as NNTPUserName, if the user has changed the
  699.  * username since the beginning of the session.
  700.  */
  701. DEF char AuthenticatedName[MAXNNTPSIZE];
  702.  
  703. #define MAILLEN 256
  704. DEF char MailAddress[MAILLEN];
  705. DEF char ReplyTo[MAILLEN];
  706. DEF char UserName[MAILLEN];
  707. DEF char Organization[MAILLEN];
  708.  
  709. DEF char GenSockDLL[MAXFILENAME];
  710. DEF int ConnectAtStartup;
  711.  
  712. /* States in the FSA that cracks input lines from the server.             */
  713.  
  714. #define ST_NONE                0
  715. #define ST_ESTABLISH_COMM        1
  716. #define ST_GROUP_RESP            2
  717. #define ST_XHDR_SUBJECT_START        3
  718. #define ST_XHDR_SUBJECT_DATA        4
  719. #define ST_IN_GROUP            5
  720. #define ST_ARTICLE_RESP            6
  721. #define ST_REC_ARTICLE_HEADER        65
  722. #define ST_REC_ARTICLE            7
  723. #define ST_POST_WAIT_PERMISSION        8
  724. #define ST_POST_WAIT_END        9
  725. #define ST_GROUP_REJOIN            10
  726. #define ST_LIST_RESP            11
  727. #define ST_LIST_GROUPLINE        12
  728. #define ST_MAIL_WAIT_PERMISSION        13
  729. #define ST_MAIL_WAIT_END        14
  730. #define ST_CHECK_AUTHINFO_USERNAME    20
  731. #define ST_CHECK_AUTHINFO_PASSWORD    21
  732. #define ST_END_AUTHINFO            22
  733. #define ST_XHDR_FROM_START        50
  734. #define ST_XHDR_FROM_DATA        51
  735. #define ST_XHDR_SUBJ_START        52
  736. #define ST_XHDR_SUBJ_DATA        53
  737. #define ST_XHDR_REF_START        54
  738. #define ST_XHDR_REF_DATA        55
  739. #define ST_XHDR_MID_START        56
  740. #define ST_XHDR_MID_DATA        57
  741. #define ST_XHDR_DATE_START        58
  742. #define ST_XHDR_DATE_DATA        59
  743. #define ST_XHDR_LINES_START        60
  744. #define ST_XHDR_LINES_DATA        61
  745. #define ST_XOVER_START            62
  746. #define ST_XOVER_DATA            63
  747. #define ST_XOVER_CHECK            64
  748. #define ST_CLOSED_COMM            99
  749.  
  750. #define LFN_HELP "WINVN.HLP"
  751.  
  752. /* variables used in an ad hoc attempt to optimize updating of windows
  753.  * by the input cracking FSA. */
  754.  
  755. #define UPDATE_TITLE_FREQ    10
  756. #define UPDATE_ART_FREQ        12
  757. #define MAX_IMMEDIATE_UPDATE    2
  758. #define STATUS_UPDATE_FREQ    20
  759.  
  760. DEF unsigned int RcvLineCount;
  761. DEF unsigned int TimesWndUpdated;
  762.  
  763. DEF TypLineID NextLineID    /* LineID to assign to next created line */
  764. #ifdef WINMAIN
  765. = 10664L
  766. #endif
  767.  ;
  768.  
  769. DEF HINSTANCE hInst;
  770. DEF HWND hWndConf;        /* handle to NetDoc window */
  771. DEF HWND hWndSk;
  772. DEF HWND hDosWnd;
  773. DEF HWND hWndDebugComm;        /* handle to Debug Comm window */
  774.  
  775. DEF HANDLE hAccel;        /* handle to main accelerator table */
  776. DEF MSG MainMsg;        /* message returned from GetMessage */
  777.  
  778. DEF int CommDevice;        /* comm device ID, if using serial I/O */
  779.  
  780. DEF char str[255];        /* general-purpose string buffer */
  781.  
  782.  
  783. DEF HCURSOR hSaveCursor;    /* handle to current cursor      */
  784. DEF HCURSOR hHourGlass;        /* handle to hourglass cursor    */
  785.  
  786.  
  787. DEF int X, Y;            /* last cursor position          */
  788. DEF int DragMouseAction;    /* mouse action for dragging      */
  789.  
  790. #define DRAG_NONE                  0
  791. #define DRAG_SELECT                1
  792. #define DRAG_DESELECT              2
  793. #define SEEN_SELECT                3
  794. #define SEEN_DESELECT              4
  795.  
  796. DEF POINT ptCursor;        /* x and y coordinates of cursor */
  797.  
  798. DEF DCB DCBComm;
  799. #define MAXCOMMCHARS 40
  800. DEF char szCommString[MAXCOMMCHARS];    /* string describing serial comm port */
  801.  
  802.  
  803. DEF int xPos, yPos;
  804.  
  805. DEF int ViewNew;
  806. DEF int NewArticleWindow;
  807. DEF int SelectAll;
  808. DEF int NViews;
  809. DEF int DoList;
  810. DEF int did_list;
  811. DEF unsigned int article_threshold;
  812. DEF int arts_to_retrieve;
  813. DEF int savingArtIndex;
  814. DEF int numArtsSaved;
  815. DEF int nextBatchIndex;        /* for batch post/mails */
  816.  
  817. DEF int ConfirmBatchOps;
  818. DEF int ConfirmExit;
  819. DEF int ConfirmReplyTo;
  820. DEF int ShowUnsubscribed;
  821. DEF int ShowReadArticles;
  822. DEF int DebugComm;
  823. DEF int ShowUnreadOnly;
  824. DEF int SaveNewsrc;
  825. DEF int SaveConfig;
  826. DEF char LastArticleTextFind[MAXINTERNALLINE];
  827. DEF char LastArticleHeaderFind[MAXINTERNALLINE];
  828. DEF char LastGroupNameFind[MAXINTERNALLINE];
  829.  
  830. #define THREAD_COMPLETE    1
  831. #define THREAD_INCOMPLETE  2
  832.  
  833. /* AskComm says whether to put up the communications dialog box
  834.  * upon starting up.  Options are never, always, and yes, because
  835.  * this is the first time the program has been run.
  836.  */
  837. #define ASK_COMM_NEVER    0
  838. #define ASK_COMM_ALWAYS   1
  839. #define ASK_COMM_INITIAL  2
  840. DEF int AskComm;
  841. DEF BOOL ArticleFixedFont;
  842. DEF BOOL FullNameFrom;
  843.  
  844. DEF int xScreen, yScreen;
  845. DEF int CaptionHeight;
  846. DEF HFONT hListFont;        /* handle to font used in group/art lists */
  847. DEF HFONT hFontArtNormal;    /* handle to font used in Article window - normal
  848.                    text mode. */
  849. DEF HFONT hFontArtQuote;    /* handle to font used in Article window - 
  850.                    comments == Italics. */
  851. DEF HFONT hFontPrint;        /* handle to font used for printing. */
  852. DEF HFONT hFontPrintB;        /* handle to font used for bold printing. */
  853. DEF HFONT hFontPrintS;        /* handle to font used for printing Subject line. */
  854. DEF HFONT hFontPrintI;        /* handle to font used for printing Quoted lines. */
  855. DEF HFONT hStatusFont;        /* handle to font used in status windows */
  856.  
  857. DEF int ListFontSize;
  858. DEF int ArticleFontSize;
  859. DEF int PrintFontSize;
  860. DEF int StatusFontSize;
  861.  
  862. DEF char ListFontFace[32];
  863. DEF char ListFontStyle[32];
  864. DEF char ArticleFontFace[32];
  865. DEF char ArticleFontStyle[32];
  866. DEF char PrintFontFace[32];
  867. DEF char StatusFontFace[32];
  868. DEF char StatusFontStyle[32];
  869.  
  870. DEF int LineHeight, CharWidth;        /* # of window units for list font */
  871. DEF int ArtLineHeight, ArtCharWidth;    /* # of windows units for article font */
  872. DEF int StatusLineHeight, StatusCharWidth;    /* # of window units for status font */
  873. DEF int TopSpace, SideSpace;    /* # of window units to leave at top and side  */
  874.                /* of window (for aesthetic purposes)          */
  875. DEF int ArtTopSpace, ArtSideSpace;    /* # of window units to leave at top and side  */
  876. DEF int StartPen;        /* Similar to TopSpace; where to start pen 1st row */
  877. DEF int ScreenYPixels;        /* used in converting points to logical units */
  878. DEF int PrinterYPixels;        /* used in converting points to logical units */
  879. DEF COLORREF OldTextColor, OldBkColor;
  880. DEF COLORREF NetUnSubscribedColor;    /* color to use for unsubscribed groups  */
  881. DEF COLORREF NetSubscribedColor;    /* color to use for subscribed groups  */
  882. DEF COLORREF ArticleSeenColor;    /* color to use for articles that have been seen */
  883. DEF COLORREF ArticleUnSeenColor;    /* color to use for articles that have not been seen */
  884. DEF COLORREF ArticleTextColor;    /* color to use for article/post text */
  885. DEF COLORREF StatusTextColor;    /* Color to use for status text */
  886. DEF COLORREF ListBackgroundColor; /* background color for group/article listings */
  887. DEF COLORREF ArticleBackgroundColor;    /* background color for article/post windows */
  888. DEF COLORREF StatusBackgroundColor;    /* background color for status windows */
  889. DEF COLORREF CustomColors[16];    /* Custom colors definable by user in ChooseColor */
  890. DEF HBRUSH hListBackgroundBrush;
  891. DEF HBRUSH hArticleBackgroundBrush;
  892. DEF HBRUSH hStatusBackgroundBrush;
  893. DEF BOOL LimitedColor;
  894.  
  895. DEF int ReverseVideo;
  896. DEF BOOL ThumbTrack;
  897.  
  898. DEF BOOL MailDemandLogon;    /* FALSE = permanent logon
  899.                    TRUE  = logon on send mail */
  900. DEF int MailForceType;        /*  Force Mail Type to valid value where
  901.                    Less then zero means
  902.                    default negotiation */
  903. DEF int MailLog;        /* True means append to log files */
  904. DEF int PostLog;        /* where XXXXLogFile is file name */
  905.  
  906.  
  907. DEF char MailLogFile[MAXFILENAME];
  908. DEF char PostLogFile[MAXFILENAME];
  909.  
  910. DEF int fmtDaysB4Mth;
  911. DEF char fmtDateDelim[2];
  912.  
  913.  
  914. #define QuoteLineInd  '>'
  915.  
  916. DEF DLGPROC lpfnWinVnSaveArtDlg;
  917. DEF DLGPROC lpfnWinVnSaveArtsDlg;
  918. DEF DLGPROC lpfnWinVnFindDlg;
  919. DEF DLGPROC lpfnWinVnGenericDlg;
  920. DEF DLGPROC lpfnWinVnSubjectDlg;
  921. DEF DLGPROC lpfnWinVnCommDlg;
  922. DEF DLGPROC lpfnWinVnAuthDlg;
  923. DEF DLGPROC lpfnWinVnDoListDlg;
  924. DEF DLGPROC lpfnWinVnPersonalInfoDlg;
  925. DEF DLGPROC lpfnWinVnMiscDlg;
  926. DEF DLGPROC lpfnWinVnAppearanceDlg;
  927. DEF DLGPROC lpfnEditSubClass ;
  928. DEF DLGPROC lpfnWinVnThresholdDlg;
  929. DEF DLGPROC lpfnWinVnLogOptDlg;
  930. DEF DLGPROC lpfnWinVnDecodeArtsDlg;
  931. DEF DLGPROC lpfnWinVnAttachDlg;
  932. DEF DLGPROC lpfnWinVnEncodeDlg;
  933. DEF DLGPROC lpfnWinVnSigFileDlg;
  934. DEF DLGPROC lpfnWinVnExitDlg;
  935. DEF DLGPROC lpfnWinVnMailDlg;
  936. DEF DLGPROC lpfnWinVnSmartFilerDlg;
  937. DEF DLGPROC lpfnWinVnSelectPathDlg;
  938. DEF DLGPROC lpfnWinVnVersionListDlg;
  939.  
  940. DEF char *szAppName;
  941. DEF char szAppProFile[256];
  942. DEF char szNewsSrc[256];
  943.  
  944. DEF char SaveArtFileName[MAXFILENAME];
  945. DEF char DecodePathName[MAXFILENAME];
  946. DEF char DialogString[MAXDIALOGSTRING];
  947. DEF char SubjectString[MAXDIALOGSTRING];
  948. DEF char AddressString[MAXDIALOGSTRING];
  949. DEF char NameString[MAXDIALOGSTRING];
  950. DEF char CcAddress[MAXDIALOGSTRING];
  951. DEF BOOL CcByMail;
  952. DEF int  SaveArtAppend;
  953. DEF int  ThreadFullSubject;
  954. DEF BOOL GroupMultiSelect;
  955.  
  956. DEF TypDoc *PostDoc;        /* Used to pass pointer to article being replied to. */
  957. DEF TypDoc *MailDoc;
  958. DEF TypDoc *FindDoc;
  959. DEF char *NewsgroupsPtr;    /* Used to pass pointer to newsgroup of new posting. */
  960.  
  961. /* For each new group detected, we create an entry in the following
  962.  * array, NewGroupTable.  Each entry contains a far pointer to a
  963.  * dynamically-allocated global data structure containing a line
  964.  * containing information on this group, in the exact same format
  965.  * as used in the NetDoc.
  966.  */
  967. DEF void huge *huge * NewGroupTable;    /* array of pointers to new group lines */
  968. DEF HANDLE hNewGroupTable;    /* Handle to the above array */
  969. DEF int nNewGroups;
  970. DEF HANDLE hNewGroupData;
  971. DEF void huge *NewGroupData;
  972. DEF unsigned int HashTableSize;
  973. DEF unsigned int LinesInRC;
  974.  
  975. typedef struct structHier
  976. {
  977.   HANDLE hName;
  978.   int Start;
  979.   int NumGroups;
  980.   HANDLE hNext;
  981. }
  982. TypHier;
  983.  
  984. #define ADD_SUBSCRIBED_END_OF_SUB    0
  985. #define ADD_SUBSCRIBED_TOP_OF_DOC    1
  986.  
  987. #define LINE_FLAG_SET            0
  988.  
  989. #define GROUP_ACTION_SUBSCRIBE        0
  990. #define GROUP_ACTION_UNSUBSCRIBE    1
  991. #define GROUP_ACTION_CHECK_ACTIVE    2
  992.  
  993. #define ARTICLE_ACTION_SAVE        0
  994. #define COMPARE                1
  995. #define NO_COMPARE            0
  996. #define SHOW                1
  997. #define NO_SHOW                0
  998. #define NO_ID                NULL
  999. #define REUSE                1
  1000. #define NO_REUSE            0
  1001. #define SELECT                1
  1002. #define DESELECT            0
  1003. #define ENABLE                1
  1004. #define DISABLE                0
  1005. #define BLOCK_ACTION_SET_ACTIVE        0
  1006.  
  1007. DEF int il, ic;
  1008. DEF int irow;
  1009. DEF int imemo;
  1010. DEF int ih;
  1011.  
  1012. #define MAXCOMMSPEEDCHARS 7
  1013.  
  1014. DEF int CommPortID;        /* IDD_COM1 or IDD_COM2 */
  1015. DEF int CommParityID;        /* IDD_7EVEN or IDD_8NONE  */
  1016. DEF char pszCommSpeed[MAXCOMMSPEEDCHARS];    /* character version of comm speed */
  1017.  
  1018. DEF int idTimer;        /* timer ID            */
  1019.  
  1020. #define IncPtr(ptr,byint) (char far *)ptr += byint
  1021.  
  1022. /* the next global variable is scoped globally after the main windows is
  1023.    created and is only modified at creation during MailInit in wvmail.c */
  1024.  
  1025. DEF struct MailCtrlStruct
  1026. {
  1027.   int MailType;
  1028.   int enableMail;
  1029.   int enableLogout;
  1030.   int enableForward;
  1031.   int (*fnMlInit) (HWND hWnd), (*fnMlLogout) (HWND hWnd), (*fnMlClose) (HWND hWnd),
  1032.   (*fnMlWinCreate) (HWND hWnd, TypDoc * Doc, int DocType), (*fnMlSend) (HWND hWnd, char *mBuf),
  1033.   (*fnMlForward) (HWND hWnd, TypDoc * Doc);
  1034.   BOOL (**MailHeaderFuncs) (TypDoc * Doc, char *Buf, long int BufLen);
  1035.  
  1036. }
  1037. MailCtrl;
  1038.  
  1039. #define MT_NONE 0
  1040. #define MT_MAPI 1
  1041. #define MT_SMTP 2
  1042.  
  1043. #define INACTIVE        0 /* values for CodingState      */
  1044. #define DECODE_ACTIVE        1 /* values for Decoding must be */
  1045. #define DECODE_SKIPPING        2 /* a contiguous range          */
  1046. #define DECODE_PROCESSING    3
  1047. #define DECODE_GET_TABLE    4
  1048. #define ATTACH_PROCESSING    10 /* Encodes must be > decodes   */
  1049. #define ATTACH_POSTING        11
  1050. #define ATTACH_READFILE        12
  1051.  
  1052. #define CODINGTABLESIZE        64
  1053.  
  1054. #define BASE_BLOCK_SIZE        4096 /* base size for the huge data */
  1055. typedef struct structcoded
  1056. {
  1057.   char name[MAXFILENAME];    /* original file name from begin line */
  1058.   char ident[MAXINTERNALLINE];    /* based on article subject line + author */
  1059.   BOOL beginFlag;        /* =TRUE this block is begin of the complete binary */
  1060.   BOOL endFlag;            /* =TRUE this block is end of the complete binary */
  1061.   int sequence;            /* =-1 if unknown, or # in mult-part file */
  1062.   int seqConfidence;        /* confidence of sequence info */
  1063.   unsigned long numLines;    /* num lines read so far (for status window */
  1064.   unsigned long numBytes;    /* # of bytes used in this coded data block */
  1065.   unsigned long maxBytes;    /* max # of bytes in this coded data block */
  1066.   char huge *data;        /* the huge data array */
  1067.   HWND hParentWnd;        /* handle to group wnd that started this */
  1068. }
  1069. TypCoded;
  1070.  
  1071. typedef struct textBlockStruct
  1072. {
  1073.   HWND hTextWnd;
  1074.   BOOL IsBusy;
  1075.   unsigned long numLines;
  1076.   unsigned long maxLines;
  1077.   unsigned long numBytes;
  1078.   unsigned long maxBytes;
  1079.   unsigned int maxLineLen;
  1080.   char huge *text;        /* big text of all lines */
  1081.   unsigned long huge *offset;    /* array of offsets into text array */
  1082. }
  1083. TypTextBlock;
  1084.  
  1085. #define MAX_DECODE_BLOCKS  256    /* max # of parts for a decode file */
  1086. #define MAX_DECODE_THREADS 75    /* max # of files in one batch decode */
  1087. typedef struct decodeThreadStruct
  1088. {
  1089.   char name[MAXFILENAME];    /* original file name from begin line */
  1090.   char ident[MAXINTERNALLINE];    /* thread ID based on article subject line */
  1091.   char dosFileName[MAXFILENAME]; /* workable DOS file name */
  1092.   char contentType[80];        /* MIME content type */
  1093.   char contentDesc[80];        /* MIME content description */
  1094.   char customTable[100];    /* custom coding table (if CODE_CUSTOM) */
  1095.   int contentEncoding;        /* MIME content-transfer-encoding */
  1096.   int numBlocksWritten;        /* number of blocks written to disk, so far */
  1097.   int mode;            /* 2nd field of begin header, don't use in DOS */
  1098.   int numBlocks;        /* number of coded blocks used in list */
  1099.   int expectedNumBlocks;    /* 0 if unknown, or a # if found in headers */
  1100.   unsigned long totalBytes;    /* total # of bytes for entire file */
  1101.   TypCoded *codedBlockList[MAX_DECODE_BLOCKS]; /* list of ptrs to decode
  1102.                           objects */
  1103.   TypTextBlock *statusText;    /* buffers for thread status text window */
  1104. }
  1105. TypDecodeThread;
  1106.  
  1107. #define CODE_BASE64   1
  1108. #define CODE_UU       2
  1109. #define CODE_XX       3
  1110. #define CODE_CUSTOM   4
  1111. #define CODE_QP       5
  1112. #define CODE_UNKNOWN  6
  1113. #define CODE_NONE     0
  1114.  
  1115. /* these correspond to the # members in the static arrays of strings */
  1116. /* defined in wvattach.c */
  1117. #define NUM_ENCODING_TYPES 5
  1118. #define NUM_CONTENT_TYPES 10
  1119.  
  1120. /* coding and attachment globals  */
  1121. DEF char xxMap[128], uuMap[128], base64Map[128], customMap[128];
  1122. DEF char *CodingMap[7];        /* N+1 for N coding types */
  1123. DEF int CodingState;
  1124. DEF TypCoded *currentCoded;
  1125. DEF TypTextBlock *CodingStatusText[MAX_DECODE_THREADS];
  1126. DEF int NumStatusTexts;
  1127. DEF BOOL CodingStatusVerbose;
  1128. DEF BOOL BlockCodingStatusAlwaysOnTop;
  1129. DEF BOOL DumbDecode;
  1130. DEF BOOL ExecuteDecodedFiles;
  1131. DEF BOOL KeepArticleHeaderVisible;
  1132. DEF BOOL UseSmartFiler;
  1133. DEF HWND hCodedBlockWnd;   /* the block coding status window (top center of screen) */
  1134. DEF char UserCodingTable[CODINGTABLESIZE+1];
  1135. #define STATUSWIDTH (85*StatusCharWidth)
  1136. #define STATUSHEIGHT (8*StatusLineHeight)
  1137.  
  1138. DEF char EncodingType[MAXINTERNALLINE];
  1139. DEF int EncodingTypeNum;
  1140. DEF int AttachInNewArt;
  1141. DEF char AttachFileName[MAXFILENAME];
  1142. DEF char ContentType[MAXINTERNALLINE];
  1143. DEF char DefaultContentType[MAXINTERNALLINE];
  1144. DEF char SubjectTemplate[MAXINTERNALLINE];
  1145. DEF unsigned int ArticleSplitLength;
  1146. DEF char MIMEUUType[80];    /* experimental types used in MIME header gen */
  1147. DEF char MIMEXXType[80];
  1148. DEF char MIMECustomType[80];
  1149.  
  1150. DEF BOOL GenerateMIME;
  1151. DEF BOOL MIMEUsageSuggestions;
  1152. DEF BOOL ReviewAttach;
  1153. DEF BOOL BlankBeforeMIME;
  1154. DEF char MIMEBoundary[MAXINTERNALLINE];
  1155.  
  1156. #define FAIL  -1
  1157. #define SUCCESS   0
  1158. #define ABORT 2
  1159. #define CONTINUE 3
  1160.  
  1161. #define MIME_VERSION "1.0"
  1162. #define ADD_TO_EDIT 1        /* used for AddEndedLineToBlock  */
  1163. #define ADD_TO_POST 2
  1164. #define ADD_TO_FILE 3
  1165. #define ADD_PLAIN   0
  1166.  
  1167. /* Signature File globals */
  1168. DEF int EnableSig;
  1169. DEF char SigFileName[MAXFILENAME];
  1170. DEF TypTextBlock *Signature;
  1171. #define BIG_SIG_FILE 40        /* warning if sig file > this many lines */
  1172.  
  1173. /* Mail List globals  */
  1174. DEF char MailFileName[MAXFILENAME];
  1175. DEF TypTextBlock *MailList;
  1176. DEF int MailListOrigNum;
  1177. #define MAX_MAIL_NAMES 50000;    /* warning if mail file > this many lines */
  1178.  
  1179. /* Smart Filer globals */
  1180. DEF TypTextBlock *ExtMapSourceList;
  1181. DEF TypTextBlock *ExtMapDosList;
  1182. DEF int ExtListOrigNum;
  1183. DEF BOOL EnableExtensionConversion;
  1184. DEF unsigned int MaxFileNameLen;
  1185. DEF unsigned int MaxFileExtLen;
  1186. DEF int OnDupeName;
  1187. DEF int OnNameTooLong;
  1188.  
  1189. #define DUPE_AVOID_NONE            0    /* dupe avoidance list.  these numbers */
  1190. #define DUPE_AVOID_NUMBER_EXT    1    /* correspond with posn in droplist */
  1191. #define DUPE_AVOID_PREPEND_NUM    2
  1192. #define DUPE_AVOID_APPEND_NUM    3
  1193.  
  1194. #define SHORTEN_NONE            0    /* name shotrening list.  these numbers */
  1195. #define SHORTEN_TRUNCATE        1    /* correspond with posn in droplist */
  1196. #define SHORTEN_SKIP_VOWELS        2
  1197.  
  1198. /* bitmaps */
  1199. DEF HBITMAP DiskBitmaps[5];
  1200. DEF HBITMAP FolderBitmaps[3];
  1201.  
  1202. /*Printing Globals  */
  1203.  
  1204. DEF PRINTDLG pd;        /* Global structure to hold printer defaults
  1205.                  */
  1206.  
  1207. /* macros added by JSC */
  1208. /* why is there no uitoa!? */
  1209. #define uitoa(x,s,b) ultoa((unsigned long)(x),(s),(b))
  1210. #define atoui(s) (unsigned int)atol((s))
  1211. #define Decoding (CodingState >= DECODE_ACTIVE && CodingState <= DECODE_GET_TABLE)
  1212. #define Attaching (CodingState >= ATTACH_PROCESSING && CodingState <= ATTACH_READFILE)
  1213. #define TextBlockLine(b, n) &(b->text[b->offset[n]])
  1214.  
  1215. #include <string.h>
  1216. #include <stdio.h>        /* sprintf, etc... */
  1217.  
  1218. /*--- Last line of WVGLOB.H -------------------------------------------- */
  1219. @
  1220.  
  1221.  
  1222. 1.58
  1223. log
  1224. @New SmartFiler stuff, and general cleanup for 92.6
  1225. @
  1226. text
  1227. @d8 1
  1228. a8 1
  1229.  * $Id: wvglob.h 1.57 1994/09/06 12:46:21 brydon Exp $
  1230. d313 2
  1231. d331 2
  1232. d530 4
  1233. a533 3
  1234. DEF unsigned int xScreen, yScreen;
  1235. DEF HANDLE hListFont;        /* handle to font used in group/art lists */
  1236. DEF HANDLE hFontArtNormal;    /* handle to font used in Article window - normal
  1237. d535 1
  1238. a535 1
  1239. DEF HANDLE hFontArtQuote;    /* handle to font used in Article window -
  1240. d537 5
  1241. a541 5
  1242. DEF HANDLE hFontPrint;        /* handle to font used for printing. */
  1243. DEF HANDLE hFontPrintB;        /* handle to font used for bold printing. */
  1244. DEF HANDLE hFontPrintS;        /* handle to font used for printing Subject line. */
  1245. DEF HANDLE hFontPrintI;        /* handle to font used for printing Quoted lines. */
  1246. DEF HANDLE hStatusFont;        /* handle to font used in status windows */
  1247. d547 1
  1248. a547 1
  1249. //DEF int FontBold;
  1250. d556 3
  1251. a558 3
  1252. DEF unsigned int LineHeight, CharWidth;        /* # of window units for list font */
  1253. DEF unsigned int ArtLineHeight, ArtCharWidth;    /* # of windows units for article font */
  1254. DEF unsigned int StatusLineHeight, StatusCharWidth;    /* # of window units for status font */
  1255. d575 1
  1256. a575 2
  1257. DEF COLORREF CustomColors[16];    /* Custom colors definable by user in
  1258.                    ChooseColor */
  1259. d760 1
  1260. a808 1
  1261. DEF int numFilesDecoded;
  1262. d811 2
  1263. a812 2
  1264. DEF int numStatusTexts;
  1265. DEF TypTextBlock *codingStatusText[MAX_DECODE_THREADS];
  1266. @
  1267.  
  1268.  
  1269. 1.57
  1270. log
  1271. @win32 fixes, comments changed
  1272. @
  1273. text
  1274. @d8 1
  1275. a8 1
  1276.  * $Id: wvglob.h 1.56 1994/09/02 19:16:32 martin Exp $
  1277. d23 13
  1278. d46 1
  1279. a46 1
  1280. #define MAXFILENAME        60
  1281. d152 1
  1282. d230 1
  1283. a230 1
  1284.   HANDLE hFile;            /* handle to file                            */
  1285. d506 5
  1286. a511 2
  1287. #define  FAIL  -1
  1288. #define SUCCESS   0
  1289. d598 22
  1290. a619 20
  1291. DEF FARPROC lpfnWinVnSaveArtDlg;
  1292. DEF FARPROC lpfnWinVnSaveArtsDlg;
  1293. DEF FARPROC lpfnWinVnFindDlg;
  1294. DEF FARPROC lpfnWinVnGenericDlg;
  1295. DEF FARPROC lpfnWinVnSubjectDlg;
  1296. DEF FARPROC lpfnWinVnCommDlg;
  1297. DEF FARPROC lpfnWinVnAuthDlg;
  1298. DEF FARPROC lpfnWinVnDoListDlg;
  1299. DEF FARPROC lpfnWinVnPersonalInfoDlg;
  1300. DEF FARPROC lpfnWinVnMiscDlg;
  1301. DEF FARPROC lpfnWinVnAppearanceDlg;
  1302. DEF FARPROC lpfnEditSubClass;
  1303. DEF FARPROC lpfnWinVnThresholdDlg;
  1304. DEF FARPROC lpfnWinVnLogOptDlg;
  1305. DEF FARPROC lpfnWinVnDecodeArtsDlg;
  1306. DEF FARPROC lpfnWinVnAttachDlg;
  1307. DEF FARPROC lpfnWinVnEncodeDlg;
  1308. DEF FARPROC lpfnWinVnSigFileDlg;
  1309. DEF FARPROC lpfnWinVnExitDlg;
  1310. DEF FARPROC lpfnWinVnMailDlg;
  1311. d632 4
  1312. a635 2
  1313. DEF int SaveArtAppend;
  1314. DEF int ThreadFullSubject;
  1315. d810 1
  1316. d813 4
  1317. a816 3
  1318. DEF HWND hCodedBlockWnd;    /* the block coding status window (top center of
  1319.                    screen) */
  1320. DEF char UserCodingTable[CODINGTABLESIZE + 1];
  1321. a835 1
  1322. DEF BOOL Attaching;        /* TRUE if currently making attachment */
  1323. d838 4
  1324. a841 2
  1325. #define ABORT 1
  1326. #define CONTINUE 0
  1327. d861 23
  1328. d894 1
  1329. @
  1330.  
  1331.  
  1332. 1.56
  1333. log
  1334. @martin fixes
  1335. @
  1336. text
  1337. @d7 2
  1338. a8 2
  1339.  *
  1340.  * $Id: wvglob.h 1.55 1994/08/24 18:40:15 mrr Exp $
  1341. d11 12
  1342. d24 1
  1343. a24 1
  1344.   #define huge far
  1345. d27 10
  1346. a36 9
  1347. #define BUFSIZE   1024
  1348. #define TEMPBUFSIZE   1240
  1349. #define MAXHEADERLINE 256
  1350. #define MAXFINDSTRING  80
  1351. #define MAXDIALOGSTRING 255
  1352.  
  1353. #define MAXFILENAME 60
  1354. #define MAXCHARS 80
  1355. #define MAXLINES 24
  1356. d38 6
  1357. a43 6
  1358. #define MAXCOMMLINE      1536
  1359. #define MAXINTERNALLINE   180
  1360. #define MAXOUTLINE    255
  1361. #define MAXPOSTLENGTH  60000  /* max length for a posting/mail edit window */
  1362. #define MAXBOUNDARYLEN 70     /* max length for MIME boundary  */
  1363. #define MAXNEWGROUPSASK 200     /* limit of groups in newgroups dialog box */
  1364. d50 95
  1365. a144 84
  1366. typedef struct structtextselect {
  1367.    int LineNum;          /* Line number when selecting text -- Line Ord  */
  1368.    int CharNum;          /* Character number when selecting text         */
  1369.    /* The 1st LineNum in the Doc and the 1st CharNum in the line are 0   */ 
  1370. } TextSelect;
  1371.  
  1372. typedef struct structdoc {
  1373.    HANDLE hFirstBlock;        /* handle to first textblock in doc.        */
  1374.    HANDLE hLastBlock;         /* unused.                                  */
  1375.    unsigned int TotalLines;   /* total # of lines in doc.                 */ 
  1376.    unsigned int LongestLine;  /* # of bytes in the longest line of doc    */
  1377.    unsigned int HeaderLines;  /* total number of lines in header of doc
  1378.                                         (incl. blank line) */
  1379.    unsigned int ActiveLines;  /* # of selected or otherwise active lines  */
  1380.    unsigned int CountedLines; /* # of counted lines, as in subscr. groups */
  1381.    unsigned int BlockSize;    /* # of bytes in a textblock                */
  1382.    unsigned int SplitSize;    /* textblock split point in bytes           */
  1383.    HANDLE hCurAddBlock;       /* hBlock to point at which to add lines.   */
  1384.    unsigned int AddOffset;    /* offset in bytes for point to add lines   */
  1385.    TypLineID  AddLineID;      /* LineID of place to add lines.            */
  1386.    HANDLE hCurTopScBlock;     /* hBlock of current top line of window     */
  1387.    unsigned int TopScOffset;
  1388.    TypLineID  TopScLineID;
  1389.    unsigned int TopLineOrd;   /* ordinal in doc of top line in window     */
  1390.    HANDLE hLastSeenBlock;
  1391.    unsigned int LastSeenOffset;
  1392.    TypLineID    LastSeenLineID;
  1393.    HANDLE hFindBlock;         /* location of place to start next search   */
  1394.    unsigned int FindOffset;   /* for "SearchStr"                          */
  1395.    TypLineID    FindLineID;
  1396.    unsigned int FindTextOffset;
  1397.    char SearchStr[MAXFINDSTRING];  /* Search string for current search    */
  1398.    unsigned int ScXOffset;    /* # of chars offset for horizontal scroll  */
  1399.    unsigned int ScXChars;     /* # of chars/line for current window size  */
  1400.    unsigned int ScYLines;     /* # of lines that fit in current window    */
  1401.    unsigned int ScXWidth;     /* current size of client area of window    */
  1402.    unsigned int ScYHeight;
  1403.    HWND hDocWnd;
  1404.    struct structdoc *ParentDoc;  /* pointer to parent document            */
  1405.    HANDLE hParentBlock;          /* points to line in parent doc          */
  1406.    unsigned int ParentOffset;    /* that corresponds to/describes this    */
  1407.    TypLineID    ParentLineID;    /* document                              */
  1408.    unsigned int OffsetToText;
  1409.    BOOL          InUse;          /* TRUE if this TypDoc in use.           */
  1410.    int          DocType;         /* DOCTYPE_xxx                           */
  1411.    BOOL         TextSelected;    /* Indicates text selected               */ 
  1412.    TextSelect   BeginSelect;     /* Line and Char where selection began   */
  1413.    TextSelect   EndSelect;       /* Line and Char where selection ended   */
  1414. } TypDoc;
  1415.  
  1416. typedef struct structblock {
  1417.    HANDLE hPrevBlock;     /* handle of previous block, or 0               */
  1418.    HANDLE hNextBlock;     /* handle of next block in document, or 0       */
  1419.    HANDLE hCurBlock;      /* handle of this block                         */
  1420.    int    LWAp1;          /* # of used data bytes in block, inc header    */
  1421.    int    NumLines;       /* # of lines in this block                     */
  1422.    int    NumActiveLines; /* # of active lines in this block.             */
  1423.    TypDoc *OwnerDoc;      /* pointer to document this block is in.        */
  1424.    int    eob;            /* end-of-block; must be just before 1st line.  */
  1425.    /* Text lines */
  1426.    /* Another EOB marker */
  1427. } TypBlock;
  1428.  
  1429. typedef struct structline {
  1430.    int length;              /* Total # of bytes in line, all-inclusive    */
  1431.    TypLineID LineID;        /* Unique identifier for this line.           */
  1432.    int active;              /* =1 if line should be displayed, else 0     */
  1433.    /* Bytes of text */
  1434.    /* Another copy of length */
  1435. } TypLine;
  1436.  
  1437. typedef struct structtext {
  1438.    int NameLen;            /* # of bytes of text                          */
  1439. } TypText;
  1440.  
  1441. typedef struct structgroup {
  1442.   char      Subscribed; /* =TRUE if subscribed to this group.   */
  1443.   char      Selected;   /* =TRUE if selected                    */
  1444.   int    NameLen; /* # of bytes in group name             */
  1445.   TypDoc *SubjDoc;   /* points to doc containing subjs       */
  1446.   unsigned long   ServerEstNum;  /* est # of arts in server              */
  1447.   unsigned long   ServerFirst;   /* # of first art that server has.      */
  1448.   unsigned long   ServerLast; /* # of last art that server has.       */
  1449.   unsigned long   HighestPrevSeen; /* # of highest art server had in last  */
  1450. d146 16
  1451. a161 14
  1452.   HANDLE header_handle; /* handle to global block of header array mem */
  1453.   HANDLE thread_handle; /* handle to global block of thread ind. pointers */
  1454.   long int  total_headers; /* total # of headers in array */
  1455.   unsigned int  nRanges;   /* # of TypRanges describing seen arts  */
  1456.   /* Name of group */            /* name of group, zero-terminated       */
  1457.   /* Ranges of articles seen */  /* array of TypRanges, of seen articles */
  1458. } TypGroup;
  1459.  
  1460. typedef struct structarticle {
  1461.   unsigned long   Number;     /* Server's number for this article    */
  1462.   char      Seen;    /* =TRUE if article seen               */
  1463.   char      Selected;   /* =TRUE if article selected           */
  1464.   TypDoc *ArtDoc; /* points to doc with actual article   */
  1465.   int    NameLen; /* # of bytes in subject line */
  1466. d163 2
  1467. a164 1
  1468. } TypArticle;
  1469. d170 2
  1470. a171 2
  1471. #define HEADER_SUBJECT_LENGTH    105
  1472. #define HEADER_FROM_LENGTH    74
  1473. d176 23
  1474. a198 2
  1475. #define ARTICLE_SUBJECT_OFFSET   40
  1476. #define GROUP_NAME_OFFSET        10
  1477. d200 1
  1478. a200 41
  1479. typedef struct {
  1480.    char Seen;
  1481.    char Selected;
  1482.    char thread_depth;
  1483.    char subject[HEADER_SUBJECT_LENGTH];
  1484.    unsigned long  number;
  1485.    unsigned int  lines;
  1486. //   char date[9];     JD 6/25/93
  1487.    time_t date;
  1488.    char from[HEADER_FROM_LENGTH];
  1489.    char message_id[HEADER_MESSAGE_ID_LENGTH];
  1490.    char references[HEADER_REFERENCES_LENGTH];
  1491.    TypDoc * ArtDoc;
  1492. } TypHeader;
  1493.  
  1494. typedef TypHeader huge * header_p;
  1495.  
  1496. typedef long huge * thread_array;
  1497.  
  1498. typedef thread_array huge * thread_array_p;
  1499.  
  1500. typedef char huge * char_p;
  1501.  
  1502. typedef struct structrange {
  1503.    long int   First;
  1504.    long int   Last;
  1505. } TypRange;
  1506.  
  1507. /* TypMRRFile is used to describe a file; I use it because Windows  */
  1508. /* doesn't provide much in the way of disk I/O support.                   */
  1509.  
  1510. typedef struct structMRRfile {
  1511.    HANDLE   hFile;           /* handle to file                            */
  1512.    OFSTRUCT of;
  1513.    char     buf[BUFSIZE];    /* my I/O buffer.                            */
  1514.    HANDLE   hthis;           /* handle to this structure                  */
  1515.    int      bufidx;          /* Index to next place in buf                */
  1516.    int      bytesread;       /* for reads, # of bytes read in last read   */
  1517.    int      mode;            /* mode in which to open file.               */
  1518.    int      eofflag;         /* whether we have reached EOF (read)        */
  1519. } TypMRRFile;
  1520. d202 25
  1521. d229 2
  1522. a230 2
  1523. #define EDITID   1      /* ID of edit box, to identify for return values */
  1524. #define MAXMEMONAME 15  /* Number of chars in memo name */
  1525. d261 8
  1526. a268 6
  1527. DEF struct {
  1528.    WORD wVirtKey;
  1529.    int CtlState;
  1530.    int iMessage;
  1531.    WORD wRequest;
  1532. } key2scroll[NUMKEYS]
  1533. d271 8
  1534. a278 7
  1535. {VK_PRIOR, 0, WM_VSCROLL,SB_PAGEUP,
  1536.  VK_NEXT,  0, WM_VSCROLL,SB_PAGEDOWN,
  1537.  VK_UP,    0, WM_VSCROLL,SB_LINEUP,
  1538.  VK_DOWN,  0, WM_VSCROLL,SB_LINEDOWN,
  1539.  VK_LEFT,  0, WM_HSCROLL,SB_LINEUP,
  1540.  VK_RIGHT, 0, WM_HSCROLL,SB_LINEDOWN
  1541. }
  1542. d294 1
  1543. a294 1
  1544. #define MAXPOSTWNDS    20 
  1545. d301 7
  1546. a307 5
  1547. {HWND hWnd ;
  1548.  HWND hWndEdit ;
  1549.  int dirty ;
  1550.  TypDoc * Doc ;
  1551. } WndEdit;
  1552. d313 2
  1553. a314 2
  1554. DEF WndEdit  WndPosts[MAXPOSTWNDS];
  1555. DEF WndEdit  WndMails[MAXMAILWNDS];
  1556. d326 13
  1557. a338 12
  1558. DEF int CommState;        /* current state in comm FSA                        */
  1559. DEF BOOL CommBusy;        /* =TRUE if comm line busy interacting w/ server    */
  1560. DEF BOOL CommDecoding;    /* =TRUE if comm line busy decoding lines from server*/
  1561. DEF WndEdit *PostEdit, *MailEdit;  /* set to post/mail window during send */
  1562. DEF TypDoc *CommDoc;      /* Document currently receiving lines from server   */
  1563. DEF HWND CommWnd  ;       /* Window containing details of document currently talking to server */
  1564. DEF HWND hVerDlgList;     /* Handle to info in the Version Dialog Box */
  1565. DEF char CommLineIn[MAXCOMMLINE];  /* current input line being built by FSA   */
  1566. DEF char *CommLinePtr;    /* pointer to next place to put char in CommLineIn  */
  1567. DEF char *CommLineLWAp1;  /* if we get this far, we're at end of buffer       */
  1568. DEF char IgnoreCommCh;    /* char to ignore when reading from server          */
  1569. DEF char EOLCommCh;       /* char that indicates end of line upon input       */
  1570. d343 2
  1571. a344 1
  1572. DEF char CurrentGroup[MAXGROUPNAME]; /* name of group currently selected on server */
  1573. d346 1
  1574. a346 1
  1575. DEF BOOL UsingSocket;     /* =TRUE if using PC/TCP rather than serial I/O     */
  1576. d357 4
  1577. a360 4
  1578. DEF char NNTPPasswordEncrypted[2*MAXNNTPSIZE];      
  1579. DEF BOOL AuthReqPost; /* TRUE if we may not post at all unless authenticated */
  1580. DEF BOOL AuthReqMail; /* TRUE if we may not send mail unless authenticated */
  1581. DEF BOOL Authenticated   /* TRUE if we've been authenticated by NNTP server */
  1582. d364 1
  1583. a364 1
  1584. ;                                         
  1585. d368 2
  1586. a369 2
  1587.  */ 
  1588. DEF char AuthenticatedName[MAXNNTPSIZE];  
  1589. d378 1
  1590. a378 1
  1591. DEF int  ConnectAtStartup;
  1592. d382 35
  1593. a416 35
  1594. #define ST_NONE                    0
  1595. #define ST_ESTABLISH_COMM          1
  1596. #define ST_GROUP_RESP              2
  1597. #define ST_XHDR_SUBJECT_START      3
  1598. #define ST_XHDR_SUBJECT_DATA       4
  1599. #define ST_IN_GROUP                5
  1600. #define ST_ARTICLE_RESP            6
  1601. #define ST_REC_ARTICLE_HEADER      65
  1602. #define ST_REC_ARTICLE             7
  1603. #define ST_POST_WAIT_PERMISSION    8
  1604. #define ST_POST_WAIT_END           9
  1605. #define ST_GROUP_REJOIN           10
  1606. #define ST_LIST_RESP              11
  1607. #define ST_LIST_GROUPLINE         12
  1608. #define ST_MAIL_WAIT_PERMISSION   13
  1609. #define ST_MAIL_WAIT_END          14
  1610. #define ST_CHECK_AUTHINFO_USERNAME 20
  1611. #define ST_CHECK_AUTHINFO_PASSWORD 21
  1612. #define ST_END_AUTHINFO            22
  1613. #define ST_XHDR_FROM_START   50
  1614. #define ST_XHDR_FROM_DATA    51
  1615. #define ST_XHDR_SUBJ_START   52
  1616. #define ST_XHDR_SUBJ_DATA    53
  1617. #define ST_XHDR_REF_START    54
  1618. #define ST_XHDR_REF_DATA     55
  1619. #define ST_XHDR_MID_START    56
  1620. #define ST_XHDR_MID_DATA     57
  1621. #define ST_XHDR_DATE_START   58
  1622. #define ST_XHDR_DATE_DATA    59
  1623. #define ST_XHDR_LINES_START     60
  1624. #define ST_XHDR_LINES_DATA   61
  1625. #define ST_XOVER_START       62
  1626. #define ST_XOVER_DATA        63
  1627. #define ST_XOVER_CHECK       64
  1628. #define ST_CLOSED_COMM            99
  1629. d420 2
  1630. a421 3
  1631. /* variables used in an ad hoc attempt to optimize updating of windows by
  1632.  * the input cracking FSA.
  1633.  */
  1634. d423 4
  1635. a426 4
  1636. #define UPDATE_TITLE_FREQ    10
  1637. #define UPDATE_ART_FREQ    12
  1638. #define MAX_IMMEDIATE_UPDATE  2
  1639. #define STATUS_UPDATE_FREQ 20
  1640. d431 1
  1641. a431 1
  1642. DEF TypLineID NextLineID  /* LineID to assign to next created line            */
  1643. d435 1
  1644. a435 1
  1645. ;
  1646. d438 4
  1647. a441 4
  1648. DEF HWND      hWndConf;       /* handle to NetDoc window     */
  1649. DEF HWND      hWndSk;
  1650. DEF HWND      hDosWnd;
  1651. DEF HWND      hWndDebugComm;  /* handle to Debug Comm window */
  1652. d443 2
  1653. a444 2
  1654. DEF HANDLE hAccel;     /* handle to main accelerator table */
  1655. DEF MSG MainMsg;       /* message returned from GetMessage */
  1656. d446 1
  1657. a446 1
  1658. DEF int CommDevice;    /* comm device ID, if using serial I/O                 */
  1659. d448 1
  1660. a448 1
  1661. DEF char str[255];                     /* general-purpose string buffer */
  1662. d451 2
  1663. a452 2
  1664. DEF HCURSOR hSaveCursor;               /* handle to current cursor      */
  1665. DEF HCURSOR hHourGlass;                /* handle to hourglass cursor    */
  1666. d455 2
  1667. a456 2
  1668. DEF int X, Y;                          /* last cursor position          */
  1669. DEF int DragMouseAction;               /* mouse action for dragging      */
  1670. d464 1
  1671. a464 1
  1672. DEF POINT ptCursor;                    /* x and y coordinates of cursor */
  1673. d468 1
  1674. a468 1
  1675. DEF char szCommString[MAXCOMMCHARS];    /* string describing serial comm port */
  1676. d482 3
  1677. a484 2
  1678. DEF int numArtsSaved;  
  1679. DEF int nextBatchIndex;    // for batch post/mails
  1680. d510 10
  1681. a519 8
  1682. DEF HANDLE hListFont;     /* handle to font used in group/art lists */
  1683. DEF HANDLE hFontArtNormal;/* handle to font used in Article window - normal text mode. */
  1684. DEF HANDLE hFontArtQuote; /* handle to font used in Article window - comments == Italics. */
  1685. DEF HANDLE hFontPrint;    /* handle to font used for printing. */
  1686. DEF HANDLE hFontPrintB;   /* handle to font used for bold printing. */
  1687. DEF HANDLE hFontPrintS;   /* handle to font used for printing Subject line. */
  1688. DEF HANDLE hFontPrintI;   /* handle to font used for printing Quoted lines. */
  1689. DEF HANDLE hStatusFont;   /* handle to font used in status windows */
  1690. d534 9
  1691. a542 9
  1692. DEF unsigned int LineHeight,CharWidth;  /* # of window units for list font */
  1693. DEF unsigned int ArtLineHeight, ArtCharWidth; /* # of windows units for article font */
  1694. DEF unsigned int StatusLineHeight,StatusCharWidth;  /* # of window units for status font */
  1695. DEF int TopSpace, SideSpace;   /* # of window units to leave at top and side  */
  1696.                            /* of window (for aesthetic purposes)          */
  1697. DEF int ArtTopSpace, ArtSideSpace;   /* # of window units to leave at top and side  */
  1698. DEF int StartPen;      /* Similar to TopSpace; where to start pen 1st row */
  1699. DEF int ScreenYPixels;         /* used in converting points to logical units */
  1700. DEF int PrinterYPixels;        /* used in converting points to logical units */
  1701. d544 14
  1702. a557 13
  1703. DEF COLORREF NetUnSubscribedColor;  /* color to use for unsubscribed groups  */
  1704. DEF COLORREF NetSubscribedColor;    /* color to use for subscribed groups  */
  1705. DEF COLORREF ArticleSeenColor;      /* color to use for articles that have been seen */
  1706. DEF COLORREF ArticleUnSeenColor;    /* color to use for articles that have not been seen */
  1707. DEF COLORREF ArticleTextColor;      /* color to use for article/post text */
  1708. DEF COLORREF StatusTextColor;       /* Color to use for status text */
  1709. DEF COLORREF ListBackgroundColor;   /* background color for group/article listings */
  1710. DEF COLORREF ArticleBackgroundColor;/* background color for article/post windows */
  1711. DEF COLORREF StatusBackgroundColor; /* background color for status windows */
  1712. DEF COLORREF CustomColors[16];      /* Custom colors definable by user in ChooseColor */
  1713. DEF HBRUSH   hListBackgroundBrush;
  1714. DEF HBRUSH   hArticleBackgroundBrush;
  1715. DEF HBRUSH   hStatusBackgroundBrush;
  1716. d563 7
  1717. a569 7
  1718. DEF BOOL  MailDemandLogon;      /* FALSE = permanent logon
  1719.                                    TRUE  = logon on send mail */
  1720. DEF int  MailForceType;        /*  Force Mail Type to valid value where
  1721.                Less then zero means
  1722.                                    default negotiation */
  1723. DEF int MailLog ;             /* True means append to log files */
  1724. DEF int PostLog ;             /* where XXXXLogFile is file name */ 
  1725. d572 2
  1726. a573 2
  1727. DEF char MailLogFile[MAXFILENAME] ;
  1728. DEF char PostLogFile[MAXFILENAME] ;
  1729. d575 2
  1730. a576 2
  1731. DEF int  fmtDaysB4Mth      ;
  1732. DEF char fmtDateDelim[2]   ;
  1733. d592 1
  1734. a592 1
  1735. DEF FARPROC lpfnEditSubClass ;
  1736. d605 1
  1737. a605 1
  1738. DEF char szNewsSrc[128];
  1739. d613 2
  1740. a614 2
  1741. DEF int  SaveArtAppend;
  1742. DEF int  ThreadFullSubject;
  1743. d617 1
  1744. a617 1
  1745. DEF TypDoc *PostDoc;   /* Used to pass pointer to article being replied to. */
  1746. d620 1
  1747. a620 1
  1748. DEF char *NewsgroupsPtr;  /* Used to pass pointer to newsgroup of new posting. */
  1749. d628 2
  1750. a629 2
  1751. DEF void huge * huge * NewGroupTable;  /* array of pointers to new group lines */
  1752. DEF HANDLE hNewGroupTable;     /* Handle to the above array */
  1753. d636 13
  1754. a648 29
  1755. typedef struct structHier {
  1756.     HANDLE     hName;
  1757.     int         Start;
  1758.     int         NumGroups;
  1759.     HANDLE     hNext;
  1760. } TypHier;
  1761.  
  1762. #define ADD_SUBSCRIBED_END_OF_SUB 0
  1763. #define ADD_SUBSCRIBED_TOP_OF_DOC        1
  1764.  
  1765. #define LINE_FLAG_SET           0
  1766.  
  1767. #define GROUP_ACTION_SUBSCRIBE    0
  1768. #define GROUP_ACTION_UNSUBSCRIBE  1
  1769. #define GROUP_ACTION_CHECK_ACTIVE 2  
  1770.  
  1771. #define ARTICLE_ACTION_SAVE   0
  1772. #define COMPARE         1
  1773. #define NO_COMPARE      0
  1774. #define SHOW         1
  1775. #define NO_SHOW         0
  1776. #define NO_ID        NULL
  1777. #define REUSE        1
  1778. #define NO_REUSE     0
  1779. #define SELECT       1
  1780. #define DESELECT     0
  1781. #define ENABLE       1
  1782. #define DISABLE         0
  1783. #define BLOCK_ACTION_SET_ACTIVE   0
  1784. d650 19
  1785. a668 1
  1786. DEF int il,ic;
  1787. d675 3
  1788. a677 3
  1789. DEF int CommPortID;     /* IDD_COM1 or IDD_COM2 */
  1790. DEF int CommParityID;   /* IDD_7EVEN or IDD_8NONE  */
  1791. DEF char pszCommSpeed[MAXCOMMSPEEDCHARS];  /* character version of comm speed */
  1792. d679 1
  1793. a679 1
  1794. DEF int idTimer;                           /* timer ID            */
  1795. d686 1
  1796. a686 1
  1797. DEF struct MailCtrlStruct 
  1798. d688 8
  1799. a695 11
  1800.     int MailType   ;
  1801.     int enableMail ;
  1802.     int enableLogout ;
  1803.     int enableForward ;
  1804.     int (*fnMlInit)(HWND hWnd),
  1805.    (*fnMlLogout)(HWND hWnd),
  1806.    (*fnMlClose)(HWND hWnd),
  1807.         (*fnMlWinCreate)(HWND hWnd,TypDoc *Doc,int DocType),
  1808.         (*fnMlSend)(HWND hWnd, char *mBuf),
  1809.         (*fnMlForward)(HWND hWnd, TypDoc * Doc);
  1810.     BOOL (**MailHeaderFuncs)(TypDoc * Doc, char *Buf, long int BufLen) ;
  1811. d697 2
  1812. a698 1
  1813. } MailCtrl ;
  1814. d704 62
  1815. a765 55
  1816. #define INACTIVE     0       /* values for CodingState      */
  1817. #define DECODE_ACTIVE      1  /* values for Decoding must be */
  1818. #define DECODE_SKIPPING    2  /* a contiguous range          */
  1819. #define DECODE_PROCESSING       3
  1820. #define DECODE_GET_TABLE        4
  1821. #define ATTACH_PROCESSING  10 /* Encodes must be > decodes   */
  1822. #define ATTACH_POSTING     11
  1823. #define ATTACH_READFILE    12
  1824.  
  1825. #define CODINGTABLESIZE    64
  1826.  
  1827. #define BASE_BLOCK_SIZE    4096  /* base size for the huge data */
  1828. typedef struct structcoded {
  1829.   char   name[MAXFILENAME];   /* original file name from begin line */
  1830.   char   ident[MAXINTERNALLINE]; /* based on article subject line + author */
  1831.   BOOL   beginFlag;     /* =TRUE this block is begin of the complete binary */
  1832.   BOOL   endFlag;    /* =TRUE this block is end of the complete binary */
  1833.   int sequence;      /* =-1 if unknown, or # in mult-part file */
  1834.   int seqConfidence;    /* confidence of sequence info */
  1835.   unsigned long numLines;  /* num lines read so far (for status window */
  1836.   unsigned long   numBytes;       /* # of bytes used in this coded data block */
  1837.   unsigned long   maxBytes;       /* max # of bytes in this coded data block */
  1838.   char huge *data;      /* the huge data array */
  1839.   HWND   hParentWnd;    /* handle to group wnd that started this */
  1840. } TypCoded;
  1841.  
  1842. typedef struct textBlockStruct {
  1843.    HWND hTextWnd;
  1844.    unsigned long numLines;
  1845.    unsigned long maxLines;
  1846.    unsigned long numBytes;
  1847.    unsigned long maxBytes;
  1848.    unsigned int maxLineLen;
  1849.    char huge *text;     /* big text of all lines */
  1850.    unsigned long huge *offset;   /* array of offsets into text array */
  1851. } TypTextBlock;
  1852.  
  1853. #define MAX_DECODE_BLOCKS  256   /* max # of parts for a decode file */
  1854. #define MAX_DECODE_THREADS 75 /* max # of files in one batch decode */
  1855. typedef struct decodeThreadStruct {
  1856.   char   name[MAXFILENAME];   /* original file name from begin line */
  1857.   char   ident[MAXINTERNALLINE]; /* thread ID based on article subject line */
  1858.   char   dosFileName[MAXFILENAME];/* workable DOS file name */
  1859.   char   contentType[80];  /* MIME content type */
  1860.   char   contentDesc[80];  /* MIME content description */
  1861.   char   customTable[100]; /* custom coding table (if CODE_CUSTOM) */
  1862.   int contentEncoding;  /* MIME content-transfer-encoding */
  1863.   int numBlocksWritten; /* number of blocks written to disk, so far */
  1864.   int mode;       /* 2nd field of begin header, don't use in DOS */
  1865.   int numBlocks;     /* number of coded blocks used in list */
  1866.   int expectedNumBlocks;   /* 0 if unknown, or a # if found in headers */
  1867.   unsigned long totalBytes;   /* total # of bytes for entire file */
  1868.   TypCoded *codedBlockList[MAX_DECODE_BLOCKS]; /* list of ptrs to decode objects */
  1869.   TypTextBlock *statusText;   /* buffers for thread status text window */
  1870. } TypDecodeThread;
  1871. d782 1
  1872. a782 1
  1873. DEF char *CodingMap[7]; /* N+1 for N coding types */
  1874. d786 1
  1875. a786 1
  1876. DEF int  numStatusTexts;
  1877. d791 3
  1878. a793 2
  1879. DEF HWND hCodedBlockWnd;   // the block coding status window (top center of screen)
  1880. DEF char UserCodingTable[CODINGTABLESIZE+1];
  1881. d797 3
  1882. a799 3
  1883. DEF char  EncodingType[MAXINTERNALLINE];
  1884. DEF int  EncodingTypeNum;
  1885. DEF int  AttachInNewArt;
  1886. d805 1
  1887. a805 1
  1888. DEF char MIMEUUType[80];   // experimental types used in MIME header gen
  1889. d813 1
  1890. a813 1
  1891. DEF BOOL Attaching;  /* TRUE if currently making attachment */
  1892. d820 1
  1893. a820 1
  1894. #define ADD_TO_EDIT 1   /* used for AddEndedLineToBlock  */
  1895. d829 1
  1896. a829 1
  1897. #define BIG_SIG_FILE 40 /* warning if sig file > this many lines */
  1898. d835 1
  1899. a835 1
  1900. #define MAX_MAIL_NAMES 50000; /* warning if mail file > this many lines */
  1901. d839 2
  1902. a840 1
  1903. DEF PRINTDLG pd;                /* Global structure to hold printer defaults     */
  1904. d843 2
  1905. a844 1
  1906. #define uitoa(x,s,b) ultoa((unsigned long)(x),(s),(b)) // why is there no uitoa!?
  1907. d850 1
  1908. a850 1
  1909. #include <stdio.h>  /* sprintf, etc...*/
  1910. @
  1911.  
  1912.  
  1913. 1.55
  1914. log
  1915. @authorization enables post/mail
  1916. @
  1917. text
  1918. @d8 1
  1919. a8 1
  1920.  * $Id: wvglob.h 1.54 1994/08/24 18:00:29 jcooper Exp $
  1921. d585 1
  1922. a585 1
  1923. DEF void far * far * NewGroupTable;  /* array of pointers to new group lines */
  1924. @
  1925.  
  1926.  
  1927. 1.54
  1928. log
  1929. @misc encoding/decoding changes
  1930. @
  1931. text
  1932. @d8 1
  1933. a8 1
  1934.  * $Id: wvglob.h 1.53 1994/08/23 23:15:34 martin Exp $
  1935. d28 2
  1936. a29 2
  1937. #define MAXPOSTLENGTH  60000    /* max length for a posting/mail edit window */
  1938. #define MAXBOUNDARYLEN 70        /* max length for MIME boundary  */
  1939. d38 3
  1940. a40 3
  1941.     int LineNum;          /* Line number when selecting text -- Line Ord  */
  1942.     int CharNum;          /* Character number when selecting text         */
  1943.     /* The 1st LineNum in the Doc and the 1st CharNum in the line are 0   */ 
  1944. d317 13
  1945. a329 1
  1946. DEF char NNTPPasswordEncrypted[2*MAXNNTPSIZE];
  1947. d444 1
  1948. a444 1
  1949. DEF int nextBatchIndex;        // for batch post/mails
  1950. d453 4
  1951. a456 4
  1952. #define    FAIL    -1
  1953. #define SUCCESS    0
  1954. #define THREAD_COMPLETE     1
  1955. #define THREAD_INCOMPLETE     2
  1956. d499 2
  1957. a500 2
  1958. DEF int ScreenYPixels;            /* used in converting points to logical units */
  1959. DEF int PrinterYPixels;            /* used in converting points to logical units */
  1960. a563 2
  1961. DEF BOOL Authorized;
  1962.  
  1963. d609 12
  1964. a620 12
  1965. #define ARTICLE_ACTION_SAVE    0
  1966. #define COMPARE            1
  1967. #define NO_COMPARE        0
  1968. #define SHOW            1
  1969. #define NO_SHOW            0
  1970. #define NO_ID            NULL
  1971. #define REUSE            1
  1972. #define NO_REUSE        0
  1973. #define SELECT            1
  1974. #define DESELECT        0
  1975. #define ENABLE            1
  1976. #define DISABLE            0
  1977. d661 3
  1978. a663 3
  1979. #define INACTIVE        0       /* values for CodingState      */
  1980. #define DECODE_ACTIVE        1    /* values for Decoding must be */
  1981. #define DECODE_SKIPPING        2    /* a contiguous range          */
  1982. d666 3
  1983. a668 3
  1984. #define ATTACH_PROCESSING    10    /* Encodes must be > decodes   */
  1985. #define ATTACH_POSTING        11
  1986. #define ATTACH_READFILE        12
  1987. d670 1
  1988. a670 1
  1989. #define CODINGTABLESIZE     64
  1990. d672 1
  1991. a672 1
  1992. #define BASE_BLOCK_SIZE        4096    /* base size for the huge data */
  1993. d674 11
  1994. a684 11
  1995.   char    name[MAXFILENAME];    /* original file name from begin line */
  1996.   char    ident[MAXINTERNALLINE];    /* based on article subject line + author */
  1997.   BOOL    beginFlag;        /* =TRUE this block is begin of the complete binary */
  1998.   BOOL    endFlag;        /* =TRUE this block is end of the complete binary */
  1999.   int    sequence;        /* =-1 if unknown, or # in mult-part file */
  2000.   int    seqConfidence;        /* confidence of sequence info */
  2001.   unsigned long numLines;    /* num lines read so far (for status window */
  2002.   unsigned long    numBytes;       /* # of bytes used in this coded data block */
  2003.   unsigned long    maxBytes;       /* max # of bytes in this coded data block */
  2004.   char huge *data;        /* the huge data array */
  2005.   HWND    hParentWnd;        /* handle to group wnd that started this */
  2006. d694 2
  2007. a695 2
  2008.    char huge *text;        /* big text of all lines */
  2009.    unsigned long huge *offset;    /* array of offsets into text array */
  2010. d698 2
  2011. a699 2
  2012. #define MAX_DECODE_BLOCKS    256    /* max # of parts for a decode file */
  2013. #define MAX_DECODE_THREADS    75    /* max # of files in one batch decode */
  2014. d701 12
  2015. a712 12
  2016.   char    name[MAXFILENAME];    /* original file name from begin line */
  2017.   char    ident[MAXINTERNALLINE];    /* thread ID based on article subject line */
  2018.   char    dosFileName[MAXFILENAME];/* workable DOS file name */
  2019.   char    contentType[80];    /* MIME content type */
  2020.   char    contentDesc[80];    /* MIME content description */
  2021.   char    customTable[100];    /* custom coding table (if CODE_CUSTOM) */
  2022.   int    contentEncoding;    /* MIME content-transfer-encoding */
  2023.   int    numBlocksWritten;    /* number of blocks written to disk, so far */
  2024.   int    mode;            /* 2nd field of begin header, don't use in DOS */
  2025.   int    numBlocks;        /* number of coded blocks used in list */
  2026.   int    expectedNumBlocks;    /* 0 if unknown, or a # if found in headers */
  2027.   unsigned long totalBytes;    /* total # of bytes for entire file */
  2028. d714 1
  2029. a714 1
  2030.   TypTextBlock *statusText;    /* buffers for thread status text window */
  2031. d732 1
  2032. a732 1
  2033. DEF char *CodingMap[7];    /* N+1 for N coding types */
  2034. d736 1
  2035. a736 1
  2036. DEF int    numStatusTexts;
  2037. d741 1
  2038. a741 1
  2039. DEF HWND hCodedBlockWnd;    // the block coding status window (top center of screen)
  2040. d754 1
  2041. a754 1
  2042. DEF char MIMEUUType[80];    // experimental types used in MIME header gen
  2043. d762 1
  2044. a762 1
  2045. DEF BOOL Attaching;    /* TRUE if currently making attachment */
  2046. d778 1
  2047. a778 1
  2048. #define BIG_SIG_FILE    40    /* warning if sig file > this many lines */
  2049. d784 1
  2050. a784 1
  2051. #define MAX_MAIL_NAMES 50000;    /* warning if mail file > this many lines */
  2052. @
  2053.  
  2054.  
  2055. 1.53
  2056. log
  2057. @new group list box & new hash table mechanism
  2058. @
  2059. text
  2060. @d8 1
  2061. a8 1
  2062.  * $Id: wvglob.h 1.52 1994/08/11 02:25:59 dumoulin Exp $
  2063. d749 1
  2064. @
  2065.  
  2066.  
  2067. 1.52
  2068. log
  2069. @enabled STRICT compile and cleaned up parameter casting
  2070. @
  2071. text
  2072. @d8 1
  2073. a8 1
  2074.  * $Id: wvglob.h 1.51 1994/08/11 00:09:17 jcooper Exp dumoulin $
  2075. d571 3
  2076. a573 4
  2077.  * dynamically-allocated global data structure containing:
  2078.  *  -- Handle to this structure (so we can deallocate later).
  2079.  *  -- A line containing information on this group, in the exact
  2080.  *     same format as used in the NetDoc.
  2081. d576 1
  2082. a576 1
  2083. DEF HANDLE hNewGroupTable;           /* Handle to the above array */
  2084. d578 11
  2085. @
  2086.  
  2087.  
  2088. 1.51
  2089. log
  2090. @Enhancements to Mime and article encoding/encoding
  2091. @
  2092. text
  2093. @d8 1
  2094. a8 1
  2095.  * $Id: wvglob.h 1.50 1994/08/04 05:49:30 dumoulin Exp $
  2096. d386 5
  2097. a390 5
  2098. DEF HANDLE hInst;
  2099. DEF HWND   hWndConf;   /* handle to NetDoc window                             */
  2100. DEF HWND   hWndSk;
  2101. DEF HWND   hDosWnd;
  2102. DEF HWND   hWndDebugComm;  /*handle to Debug Comm window */
  2103. @
  2104.  
  2105.  
  2106. 1.50
  2107. log
  2108. @Added support for scrollable version box
  2109. @
  2110. text
  2111. @d8 1
  2112. a8 1
  2113.  * $Id: wvglob.h 1.49 1994/07/28 21:56:32 rushing Exp dumoulin $
  2114. d721 1
  2115. a721 1
  2116. DEF HWND hCodedBlockWnd;
  2117. d734 5
  2118. d743 3
  2119. @
  2120.  
  2121.  
  2122. 1.49
  2123. log
  2124. @mistakenly set arts_to_retrieve as unsigned
  2125. @
  2126. text
  2127. @d8 1
  2128. a8 1
  2129.  * $Id: wvglob.h 1.48 1994/07/26 18:39:45 dumoulin Exp rushing $
  2130. d294 1
  2131. d546 1
  2132. d549 1
  2133. a549 1
  2134. DEF char szAppProFile[128];
  2135. @
  2136.  
  2137.  
  2138. 1.48
  2139. log
  2140. @Added constant for the maximum number of new newsgroups
  2141. allowed before new newsgroup dialog box doesn't get called.
  2142. @
  2143. text
  2144. @d8 1
  2145. a8 1
  2146.  * $Id: wvglob.h 1.47 1994/07/26 16:10:51 gardnerd Exp dumoulin $
  2147. d428 1
  2148. a428 1
  2149. DEF unsigned int arts_to_retrieve;
  2150. @
  2151.  
  2152.  
  2153. 1.47
  2154. log
  2155. @Added support for article copying to windows clipboard
  2156. @
  2157. text
  2158. @d8 1
  2159. a8 1
  2160.  * $Id: wvglob.h 1.46 1994/07/25 22:41:22 pearse_w_r Exp $
  2161. d11 3
  2162. a13 3
  2163. #ifdef WIN32         
  2164.   #define huge far   
  2165. #endif               
  2166. d28 3
  2167. a30 2
  2168. #define MAXPOSTLENGTH  60000    // max length for a posting/mail edit window
  2169. #define MAXBOUNDARYLEN 70        // max length for MIME boundary
  2170. d575 1
  2171. a575 1
  2172. DEF HANDLE hNewGroupTable;     /* Handle to the above array */
  2173. d639 3
  2174. a641 3
  2175. #define INACTIVE        0       // values for CodingState
  2176. #define DECODE_ACTIVE        1    // values for Decoding must be
  2177. #define DECODE_SKIPPING        2    // a contiguous range
  2178. d644 1
  2179. a644 1
  2180. #define ATTACH_PROCESSING    10    // Encodes must be > decodes
  2181. d703 2
  2182. a704 1
  2183. // these correspond to the # members in the static arrays of strings defined in wvattach.c
  2184. d708 1
  2185. a708 1
  2186. // coding and attachment globals
  2187. d710 1
  2188. a710 1
  2189. DEF char *CodingMap[7];    // N+1 for N coding types
  2190. d734 1
  2191. a734 1
  2192. DEF BOOL Attaching;    // == TRUE if currently making attachment
  2193. d738 1
  2194. a738 1
  2195. #define ADD_TO_EDIT 1   // used for AddEndedLineToBlock
  2196. d743 1
  2197. a743 1
  2198. // Signature File globals
  2199. d747 1
  2200. a747 1
  2201. #define BIG_SIG_FILE    40    // warning if sig file > this many lines
  2202. d749 1
  2203. a749 1
  2204. // Mail List globals
  2205. d753 1
  2206. a753 1
  2207. #define MAX_MAIL_NAMES 50000;    // warning if mail file > this many lines
  2208. d755 1
  2209. a755 1
  2210. // Printing Globals
  2211. d759 1
  2212. a759 1
  2213. // macros added by JSC
  2214. d766 1
  2215. a766 1
  2216. #include <stdio.h>  // sprintf, etc...
  2217. @
  2218.  
  2219.  
  2220. 1.46
  2221. log
  2222. @ShowUnreadOnly option
  2223. @
  2224. text
  2225. @d8 1
  2226. a8 1
  2227.  * $Id: wvglob.h 1.45 1994/07/25 18:51:48 jcooper Exp $
  2228. d32 1
  2229. a32 1
  2230. #include <commdlg.h> 
  2231. d36 6
  2232. d81 3
  2233. d139 1
  2234. a139 1
  2235. /* arrays require this. */  
  2236. d146 1
  2237. a146 1
  2238.                                       
  2239. d148 1
  2240. a148 1
  2241. #define ARTICLE_SUBJECT_OFFSET   40              
  2242. d150 1
  2243. a150 1
  2244.                                       
  2245. d435 1
  2246. a435 1
  2247. DEF int ShowReadArticles;  
  2248. d439 1
  2249. a439 1
  2250. #define    FAIL    -1 
  2251. d591 1
  2252. a591 1
  2253. #define NO_ID            NULL    
  2254. d611 1
  2255. a611 1
  2256. DEF int idTimer;                                          /* timer ID            */
  2257. @
  2258.  
  2259.  
  2260. 1.45
  2261. log
  2262. @execution of decoded files
  2263. @
  2264. text
  2265. @d8 1
  2266. a8 1
  2267.  * $Id: wvglob.h 1.44 1994/06/30 16:37:04 dumoulin Exp $
  2268. d428 1
  2269. @
  2270.  
  2271.  
  2272. 1.44
  2273. log
  2274. @Defined global storage for the Print Dialog (pd) function
  2275. @
  2276. text
  2277. @d8 1
  2278. a8 1
  2279.  * $Id: wvglob.h 1.43 1994/06/08 21:01:45 gardnerd Exp dumoulin $
  2280. d418 1
  2281. a418 1
  2282. DEF int arts_to_retrieve;
  2283. d706 1
  2284. @
  2285.  
  2286.  
  2287. 1.43
  2288. log
  2289. @more scrolling changes...
  2290. @
  2291. text
  2292. @d8 1
  2293. a8 1
  2294.  * $Id: wvglob.h 1.42 1994/06/06 22:06:13 gardnerd Exp $
  2295. d32 1
  2296. d741 4
  2297. @
  2298.  
  2299.  
  2300. 1.42
  2301. log
  2302. @horizontal scrolling support
  2303. @
  2304. text
  2305. @d8 1
  2306. a8 1
  2307.  * $Id: $
  2308. d137 3
  2309. a139 2
  2310. /* Offset used to calculate LongestLine for an article subject */
  2311. #define HEADER_SUBJECT_OFFSET     40
  2312. @
  2313.  
  2314.  
  2315. 1.41
  2316. log
  2317. @fix subscribed-count bug
  2318. @
  2319. text
  2320. @d8 1
  2321. a8 128
  2322.  * $Id: wvglob.h 1.40 1994/06/01 19:00:00 gardnerd Exp $
  2323.  * $Log: wvglob.h $
  2324.  * Revision 1.40  1994/06/01  19:00:00  gardnerd
  2325.  * support for horizontal scrolling
  2326.  *
  2327.  * Revision 1.39  1994/05/23  19:51:51  rushing
  2328.  * NNTPPort becomes NNTPService, and it's a string.
  2329.  *
  2330.  * Revision 1.38  1994/05/23  18:37:00  jcooper
  2331.  * new attach code, session [dis]connect
  2332.  *
  2333.  * Revision 1.37  1994/05/02  20:32:55  rushing
  2334.  * changes from jody glasser
  2335.  *
  2336.  * Revision 1.36  1994/03/01  19:10:19  rushing
  2337.  * ThreadFullSubject option added
  2338.  *
  2339.  * Revision 1.35  1994/02/24  21:28:49  jcoop
  2340.  * jcoop changes
  2341.  *
  2342.  * Revision 1.34  1994/02/16  20:59:17  rushing
  2343.  * Added .ini param to force use of XHDR over XOVER
  2344.  *
  2345.  * Revision 1.33  1994/02/04  02:19:12  rushing
  2346.  * added GenSockDLL .ini param
  2347.  *
  2348.  * Revision 1.32  1994/01/24  17:39:47  jcoop
  2349.  * 90.2 changes
  2350.  *
  2351.  * Revision 1.31  1994/01/17  21:54:58  jcoop
  2352.  * New entries for colors/fonts, sig files, attachments, decoding
  2353.  *
  2354.  * Revision 1.30  1994/01/12  19:25:59  mrr
  2355.  * mrr mods 4
  2356.  * 
  2357.  * Revision 1.29  1994/01/05  22:36:43  mrr
  2358.  * BLOCK_SIZE=4096
  2359.  *
  2360.  * Revision 1.28  1993/12/08  20:21:15  dumoulin
  2361.  * Added support for using Shift-Mouse-Left inplace of Mouse-Middle and
  2362.  * support for dragging mouse to set article Seen flag
  2363.  *
  2364.  * Revision 1.27  1993/12/08  01:29:07  rushing
  2365.  * new version box and cr lf consistency
  2366.  *
  2367.  * Revision 1.26  1993/08/25  18:55:19  mbretherton
  2368.  * MRB merge, mail & post logging
  2369.  *
  2370.  *
  2371.  * remove vRef (for Macintosh only)
  2372.  * include Mail and Post Log variables
  2373.  *
  2374.  * Revision 1.25  1993/08/18  21:49:21  rushing
  2375.  * more 16-bit article number fixes.
  2376.  *
  2377.  * Revision 1.24  1993/08/17  21:48:44  dumoulin
  2378.  * Added variable for Mouse Dragging
  2379.  *
  2380.  * Revision 1.23  1993/08/05  20:06:07  jcoop
  2381.  * save multiple articles changes by jcoop@@oakb2s01.apl.com (John S Cooper)
  2382.  *
  2383.  * Revision 1.22  1993/07/13  16:03:04  riordan
  2384.  * MRR mods
  2385.  *
  2386.  * Revision 1.21  1993/07/09  19:13:36  rushing
  2387.  * alignment problem.  Sigh.
  2388.  *
  2389.  * Revision 1.20  1993/07/06  21:09:09  cnolan
  2390.  * win32 support
  2391.  *
  2392.  * Revision 1.19  1993/06/28  17:52:17  rushing
  2393.  * fixed compiler warnings
  2394.  *
  2395.  * Revision 1.18  1993/06/25  20:27:10  dumoulin
  2396.  * Added StringDate to support POSIX standard numeric dates
  2397.  *
  2398.  * Revision 1.17  1993/06/22  19:08:56  rushing
  2399.  * mail force type selection via dialog
  2400.  *
  2401.  * Revision 1.16  1993/06/22  16:43:58  bretherton
  2402.  * remove mail type MT_POP add enable forward menus seperate from mail
  2403.  *
  2404.  * Revision 1.15  1993/06/22  16:14:21  rushing
  2405.  * unsigned long for article number
  2406.  *
  2407.  * Revision 1.14  1993/06/14  17:05:16  rushing
  2408.  * made the MAILLEN define larger.  48 -> 255
  2409.  *
  2410.  * Revision 1.13  1993/06/11  00:11:26  rushing
  2411.  * second merge from Matt Bretherton sources
  2412.  *
  2413.  * Revision 1.12  1993/06/10  18:25:40  rushing
  2414.  * XOVER support and did_list variable (newsrc&dolist problem fixed)
  2415.  *
  2416.  * Revision 1.11  1993/06/01  18:23:17  rushing
  2417.  * moved header funcs to headarry.c
  2418.  *
  2419.  * Revision 1.10  1993/05/29  03:32:30  rushing
  2420.  * threading support
  2421.  *
  2422.  * Revision 1.9  1993/05/28  17:32:11  rushing
  2423.  * made the #defines for ST_XHDR_SUBJ jive with the other new ones.
  2424.  *
  2425.  * Revision 1.8  1993/05/28  17:18:00  rushing
  2426.  * Added Misc... option to enable threading
  2427.  *
  2428.  * Revision 1.7  1993/05/24  23:57:22  rushing
  2429.  * rot13 merge (MRB)
  2430.  *
  2431.  * Revision 1.6  1993/05/18  22:10:45  rushing
  2432.  * smtp support
  2433.  *
  2434.  * Revision 1.5  1993/05/13  20:00:38  rushing
  2435.  * fancy 'from' in group window
  2436.  *
  2437.  * Revision 1.4  1993/05/13  16:17:45  rushing
  2438.  * article fetch limit support
  2439.  *
  2440.  * Revision 1.3  1993/03/30  20:49:30  DUMOULIN
  2441.  * MAPI
  2442.  *
  2443.  * Revision 1.2  1993/03/30  17:08:12  rushing
  2444.  * Added global handle for printer font.
  2445.  *
  2446.  * Revision 1.1  1993/02/16  20:54:42  rushing
  2447.  * Initial revision
  2448.  *
  2449.  *
  2450. d136 4
  2451. a139 1
  2452.  
  2453. @
  2454.  
  2455.  
  2456. 1.40
  2457. log
  2458. @support for horizontal scrolling
  2459. @
  2460. text
  2461. @d8 1
  2462. a8 1
  2463.  * $Id: wvglob.h 1.39 1994/05/23 19:51:51 rushing Exp $
  2464. d10 3
  2465. d170 1
  2466. @
  2467.  
  2468.  
  2469. 1.39
  2470. log
  2471. @NNTPPort becomes NNTPService, and it's a string.
  2472. @
  2473. text
  2474. @d8 1
  2475. a8 1
  2476.  * $Id: wvglob.h 1.38 1994/05/23 18:37:00 jcooper Exp rushing $
  2477. d10 3
  2478. d162 2
  2479. a163 1
  2480.    unsigned int TotalLines;   /* total # of lines in doc.                 */
  2481. d184 1
  2482. d334 1
  2483. a334 1
  2484. #define NUMKEYS 4
  2485. d346 4
  2486. a349 2
  2487.  VK_UP,    1, WM_VSCROLL,SB_LINEUP,
  2488.  VK_DOWN,  1, WM_VSCROLL,SB_LINEDOWN
  2489. @
  2490.  
  2491.  
  2492. 1.38
  2493. log
  2494. @new attach code, session [dis]connect
  2495. @
  2496. text
  2497. @d8 1
  2498. a8 1
  2499.  * $Id: wvglob.h 1.37 1994/05/02 20:32:55 rushing Exp $
  2500. d10 3
  2501. d414 1
  2502. a414 1
  2503. DEF int NNTPPort;
  2504. @
  2505.  
  2506.  
  2507. 1.37
  2508. log
  2509. @changes from jody glasser
  2510. @
  2511. text
  2512. @d8 1
  2513. a8 1
  2514.  * $Id: wvglob.h 1.36 1994/03/01 19:10:19 rushing Exp rushing $
  2515. d10 3
  2516. d351 2
  2517. d423 1
  2518. d694 2
  2519. d800 4
  2520. d819 3
  2521. a821 2
  2522. DEF int  EncodingType;
  2523. DEF int  WhenToAttach;    // == IDD_ATTACH_NOW or _NEXT
  2524. d824 1
  2525. @
  2526.  
  2527.  
  2528. 1.36
  2529. log
  2530. @ThreadFullSubject option added
  2531. @
  2532. text
  2533. @d8 1
  2534. a8 1
  2535.  * $Id: wvglob.h 1.35 1994/02/24 21:28:49 jcoop Exp rushing $
  2536. d10 3
  2537. d651 1
  2538. @
  2539.  
  2540.  
  2541. 1.35
  2542. log
  2543. @jcoop changes
  2544. @
  2545. text
  2546. @d8 1
  2547. a8 1
  2548.  * $Id: wvglob.h 1.34 1994/02/16 20:59:17 rushing Exp $
  2549. d10 3
  2550. d647 1
  2551. @
  2552.  
  2553.  
  2554. 1.34
  2555. log
  2556. @Added .ini param to force use of XHDR over XOVER
  2557. @
  2558. text
  2559. @d8 1
  2560. a8 1
  2561.  * $Id: wvglob.h 1.33 1994/02/04 02:19:12 rushing Exp rushing $
  2562. d10 3
  2563. d128 1
  2564. a128 1
  2565. #define MAXDIALOGSTRING 120
  2566. d407 1
  2567. d422 1
  2568. d519 2
  2569. d569 1
  2570. d587 1
  2571. d614 1
  2572. d629 1
  2573. d765 1
  2574. a765 1
  2575.   char    codingTable[100];    /* coding table for blocks in this thread */
  2576. d776 7
  2577. a782 7
  2578. #define ENCODE_BASE64   1
  2579. #define ENCODE_UU       2
  2580. #define ENCODE_XX       3
  2581. #define ENCODE_CUSTOM   4
  2582. #define ENCODE_QP       5
  2583. #define ENCODE_UNKNOWN    6
  2584. #define ENCODE_NONE     0
  2585. d785 2
  2586. d796 2
  2587. d821 6
  2588. @
  2589.  
  2590.  
  2591. 1.33
  2592. log
  2593. @added GenSockDLL .ini param
  2594. @
  2595. text
  2596. @d8 1
  2597. a8 1
  2598.  * $Id: wvglob.h 1.32 1994/01/24 17:39:47 jcoop Exp rushing $
  2599. d10 3
  2600. d393 1
  2601. @
  2602.  
  2603.  
  2604. 1.32
  2605. log
  2606. @90.2 changes
  2607. @
  2608. text
  2609. @d8 1
  2610. a8 1
  2611.  * $Id: wvglob.h 1.31 1994/01/17 21:54:58 jcoop Exp $
  2612. d10 3
  2613. d403 1
  2614. @
  2615.  
  2616.  
  2617. 1.31
  2618. log
  2619. @New entries for colors/fonts, sig files, attachments, decoding
  2620. @
  2621. text
  2622. @d8 1
  2623. a8 1
  2624.  * $Id: wvglob.h 1.31 1994/01/17 21:41:20 jcoop Exp $
  2625. d10 3
  2626. d369 1
  2627. d504 2
  2628. d801 1
  2629. @
  2630.  
  2631.  
  2632. 1.30
  2633. log
  2634. @mrr mods 4
  2635. @
  2636. text
  2637. @d8 1
  2638. a8 1
  2639.  * $Id: wvglob.h 1.29 1994/01/05 22:36:43 mrr Exp $
  2640. d10 3
  2641. d113 1
  2642. d118 10
  2643. a272 7
  2644. #define MAXFILENAME 60
  2645. #define MAXCHARS 80
  2646. #define MAXLINES 24
  2647. /* this has been increased for XOVER - some lines are *very* long */
  2648. #define MAXCOMMLINE      1536
  2649. #define MAXINTERNALLINE   180
  2650. #define MAXOUTLINE    255
  2651. a274 1
  2652.  
  2653. a300 1
  2654.  
  2655. d333 2
  2656. a334 2
  2657. #define MAXPOSTWNDS    4
  2658. #define MAXMAILWNDS    4
  2659. d365 1
  2660. a374 1
  2661. DEF BOOL SaveNewsrc;      /* =TRUE iff we write NEWSRC upon exit */
  2662. d443 2
  2663. d504 5
  2664. d521 3
  2665. a523 3
  2666. DEF HANDLE hFont;     /* handle to font used in all windows except article */
  2667. DEF HANDLE hFontArtNormal;  /* handle to font used in Article window - normal text mode. */
  2668. DEF HANDLE hFontArtQuote;  /* handle to font used in Article window - comments == Italics. */
  2669. d528 1
  2670. d530 1
  2671. a530 2
  2672.  
  2673. DEF int FontSize;
  2674. d533 4
  2675. a536 2
  2676. DEF int FontBold;
  2677. DEF char FontFace[32];
  2678. d538 1
  2679. d540 2
  2680. d543 1
  2681. a543 1
  2682. DEF unsigned int LineHeight,CharWidth;  /* # of window units for current font */
  2683. d545 1
  2684. d549 16
  2685. a565 3
  2686. DEF DWORD OldTextColor, OldBkColor;
  2687. DEF DWORD NetUnSubscribedColor;  /* color to use for unsubscribed groups  */
  2688. DEF DWORD GroupSeenColor;        /* color to use for articles that have been seen */
  2689. d600 5
  2690. d613 1
  2691. d645 10
  2692. a656 10
  2693. #define ARTICLE_ACTION_SAVE   0
  2694. #define COMPARE         1
  2695. #define NO_COMPARE      0
  2696. #define SHOW         1
  2697. #define NO_SHOW         0
  2698. #define REUSE        1
  2699. #define NO_REUSE     0
  2700. #define SELECT       1
  2701. #define DESELECT     0
  2702.  
  2703. d694 103
  2704. @
  2705.  
  2706.  
  2707. 1.29
  2708. log
  2709. @BLOCK_SIZE=4096
  2710. @
  2711. text
  2712. @d8 1
  2713. a8 1
  2714.  * $Id: wvglob.h 1.28 1993/12/08 20:21:15 dumoulin Exp mrr $
  2715. d10 3
  2716. d129 1
  2717. a129 1
  2718.    TypLineID  AddLineID;      /* LineID of point to add lines.            */
  2719. d133 1
  2720. a133 1
  2721.    unsigned int TopLineOrd;   /* ordinal in doc of line line in window    */
  2722. d162 1
  2723. d172 1
  2724. d182 8
  2725. a189 8
  2726.   char        Subscribed;    /* =TRUE if subscribed to this group.   */
  2727.   char        Selected;    /* =TRUE if selected                    */
  2728.   int        NameLen;    /* # of bytes in group name             */
  2729.   TypDoc    *SubjDoc;    /* points to doc containing subjs       */
  2730.   unsigned long    ServerEstNum;    /* est # of arts in server              */
  2731.   unsigned long    ServerFirst;    /* # of first art that server has.      */
  2732.   unsigned long    ServerLast;    /* # of last art that server has.       */
  2733.   unsigned long    HighestPrevSeen; /* # of highest art server had in last  */
  2734. d191 4
  2735. a194 4
  2736.   HANDLE    header_handle;    /* handle to global block of header array mem */
  2737.   HANDLE    thread_handle;    /* handle to global block of thread ind. pointers */
  2738.   long int    total_headers;    /* total # of headers in array */
  2739.   unsigned int  nRanges;    /* # of TypRanges describing seen arts  */
  2740. d200 5
  2741. a204 5
  2742.   unsigned long    Number;        /* Server's number for this article    */
  2743.   char        Seen;        /* =TRUE if article seen               */
  2744.   char        Selected;    /* =TRUE if article selected           */
  2745.   TypDoc    *ArtDoc;    /* points to doc with actual article   */
  2746.   int        NameLen;    /* # of bytes in subject line */
  2747. d212 4
  2748. a215 4
  2749. #define HEADER_SUBJECT_LENGTH        105
  2750. #define HEADER_FROM_LENGTH        74
  2751. #define HEADER_MESSAGE_ID_LENGTH    30
  2752. #define HEADER_REFERENCES_LENGTH    30
  2753. d288 1
  2754. d408 1
  2755. a408 1
  2756. #define ST_MAIL_WAIT_END             14
  2757. d411 16
  2758. a426 16
  2759. #define ST_END_AUTHINFO               22
  2760. #define ST_XHDR_FROM_START      50
  2761. #define ST_XHDR_FROM_DATA      51
  2762. #define ST_XHDR_SUBJ_START      52
  2763. #define ST_XHDR_SUBJ_DATA      53
  2764. #define ST_XHDR_REF_START      54
  2765. #define ST_XHDR_REF_DATA      55
  2766. #define ST_XHDR_MID_START      56
  2767. #define ST_XHDR_MID_DATA      57
  2768. #define ST_XHDR_DATE_START      58
  2769. #define ST_XHDR_DATE_DATA      59
  2770. #define ST_XHDR_LINES_START      60
  2771. #define ST_XHDR_LINES_DATA      61
  2772. #define ST_XOVER_START          62
  2773. #define ST_XOVER_DATA          63
  2774. #define ST_XOVER_CHECK          64
  2775. d451 1
  2776. d492 4
  2777. a495 1
  2778. DEF int numArtsSaved;
  2779. d541 1
  2780. a541 1
  2781.                    Less then zero means
  2782. d606 3
  2783. d610 9
  2784. a618 9
  2785. #define ARTICLE_ACTION_SAVE    0
  2786. #define COMPARE            1
  2787. #define NO_COMPARE        0
  2788. #define SHOW            1
  2789. #define NO_SHOW            0
  2790. #define REUSE            1
  2791. #define NO_REUSE        0
  2792. #define SELECT            1
  2793. #define DESELECT        0
  2794. d645 2
  2795. a646 2
  2796.     (*fnMlLogout)(HWND hWnd),
  2797.     (*fnMlClose)(HWND hWnd),
  2798. @
  2799.  
  2800.  
  2801.  
  2802. 1.28
  2803. log
  2804. @Added support for using Shift-Mouse-Left inplace of Mouse-Middle and
  2805. support for dragging mouse to set article Seen flag
  2806. @
  2807. text
  2808. @d8 1
  2809. a8 1
  2810.  * $Id: wvglob.h 1.27 1993/12/08 01:29:07 rushing Exp dumoulin $
  2811. d10 4
  2812. d269 1
  2813. a269 1
  2814. #define BLOCK_SIZE  1024
  2815. @
  2816.  
  2817.  
  2818.  
  2819. 1.27
  2820. log
  2821. @new version box and cr lf consistency
  2822. @
  2823. text
  2824. @d8 1
  2825. a8 1
  2826.  * $Id: wvglob.h 1.26 1993/08/25 18:55:19 mbretherton Exp rushing $
  2827. d10 3
  2828. d460 2
  2829. @
  2830.  
  2831.  
  2832.  
  2833. 1.26
  2834. log
  2835. @MRB merge, mail & post logging
  2836. @
  2837. text
  2838. @a0 1
  2839.  
  2840. a5 1
  2841.  
  2842. d8 1
  2843. a8 1
  2844.  * $Id: wvglob.h 1.25 1993/08/18 21:49:21 rushing Exp $
  2845. d10 3
  2846. @
  2847.  
  2848.  
  2849.  
  2850. 1.25
  2851. log
  2852. @more 16-bit article number fixes.
  2853. @
  2854. text
  2855. @d10 1
  2856. a10 1
  2857.  * $Id: wvglob.h 1.24 1993/08/17 21:48:44 dumoulin Exp rushing $
  2858. d12 7
  2859. d246 1
  2860. d319 11
  2861. a329 6
  2862. DEF TypDoc PostingDocs[MAXPOSTWNDS];
  2863. DEF TypDoc MailDocs[MAXMAILWNDS];
  2864. DEF HWND  hWndPosts[MAXPOSTWNDS];
  2865. DEF HWND  hWndMails[MAXMAILWNDS];
  2866. DEF HWND  hWndPostEdits[MAXPOSTWNDS];
  2867. DEF HWND  hWndMailEdits[MAXMAILWNDS];
  2868. d331 3
  2869. d347 1
  2870. d523 7
  2871. d548 1
  2872. a555 1
  2873. #define MAXFILENAME 60
  2874. a560 1
  2875. DEF int  SaveArtvRef;   /* volume ref num used only by Mac */
  2876. @
  2877.  
  2878.  
  2879.  
  2880. 1.24
  2881. log
  2882. @Added variable for Mouse Dragging
  2883. @
  2884. text
  2885. @d10 1
  2886. a10 1
  2887.  * $Id: wvglob.h 1.23 1993/08/05 20:06:07 jcoop Exp dumoulin $
  2888. d12 3
  2889. d162 15
  2890. a176 15
  2891.    char        Subscribed;    /* =TRUE if subscribed to this group.   */
  2892.    char        Selected;    /* =TRUE if selected                    */
  2893.    int        NameLen;    /* # of bytes in group name             */
  2894.    TypDoc    *SubjDoc;    /* points to doc containing subjs       */
  2895.    unsigned int    ServerEstNum;    /* est # of arts in server              */
  2896.    long int    ServerFirst;    /* # of first art that server has.      */
  2897.    long int    ServerLast;    /* # of last art that server has.       */
  2898.    long int    HighestPrevSeen; /* # of highest art server had in last  */
  2899.                 /* session, from "s<num>" newsrc field  */
  2900.    HANDLE    header_handle;    /* handle to global block of header array mem */
  2901.    HANDLE    thread_handle;    /* handle to global block of thread ind. pointers */
  2902.    long int    total_headers;    /* total # of headers in array */
  2903.    unsigned int  nRanges;    /* # of TypRanges describing seen arts  */
  2904.    /* Name of group */            /* name of group, zero-terminated       */
  2905.    /* Ranges of articles seen */  /* array of TypRanges, of seen articles */
  2906. d180 6
  2907. a185 6
  2908.    long int Number;            /* Server's number for this article    */
  2909.    char         Seen;              /* =TRUE if article seen               */
  2910.    char         Selected;          /* =TRUE if article selected           */
  2911.    TypDoc      *ArtDoc;            /* points to doc with actual article   */
  2912.    int         NameLen;       /* # of bytes in subject line */
  2913.    /* Subject line of article */
  2914. @
  2915.  
  2916.  
  2917.  
  2918. 1.23
  2919. log
  2920. @save multiple articles changes by jcoop@@oakb2s01.apl.com (John S Cooper)
  2921. @
  2922. text
  2923. @d1 7
  2924. d10 1
  2925. a10 1
  2926.  * $Id: wvglob.h 1.22 1993/07/13 16:03:04 riordan Exp $
  2927. d12 3
  2928. a83 6
  2929. /*---  This is WVGLOB.H  ------------------------------------------- */
  2930. /* WVGLOB.H contains all the global types and variables for WinVN.   */
  2931. /* Stylistically, this should probably be separated into several     */
  2932. /* header files, but this is what you've got for now.                */
  2933. /* cf WVDOC.C -- it describes some of these structures.              */
  2934.  
  2935. d101 2
  2936. a102 1
  2937.    unsigned int HeaderLines;  /* total number of lines in header of doc (incl. blank line) */
  2938. d189 5
  2939. d198 1
  2940. a198 1
  2941.    char subject[105];
  2942. d203 3
  2943. a205 3
  2944.    char from[74];
  2945.    char message_id[30];
  2946.    char references[30];
  2947. a311 1
  2948. #ifndef MAC
  2949. a313 6
  2950. #else
  2951. DEF TEHandle TEHPosts[MAXPOSTWNDS];
  2952. DEF TEHandle TEHCurrent;
  2953. DEF ControlHandle    vScroll;
  2954. DEF int           linesInFolder;
  2955. #endif
  2956. d423 1
  2957. a423 1
  2958. DEF char str[255];                              /* general-purpose string buffer */
  2959. d426 2
  2960. a427 2
  2961. DEF HCURSOR hSaveCursor;                        /* handle to current cursor      */
  2962. DEF HCURSOR hHourGlass;                         /* handle to hourglass cursor    */
  2963. d430 2
  2964. a431 1
  2965. DEF int X, Y;                                   /* last cursor position          */
  2966. d433 3
  2967. d437 1
  2968. a437 1
  2969. DEF POINT ptCursor;                             /* x and y coordinates of cursor */
  2970. @
  2971.  
  2972.  
  2973.  
  2974. 1.22
  2975. log
  2976. @MRR mods
  2977. @
  2978. text
  2979. @d3 1
  2980. a3 1
  2981.  * $Id: wvglob.h 1.21 1993/07/09 19:13:36 rushing Exp $
  2982. d5 3
  2983. d447 2
  2984. d503 1
  2985. d549 1
  2986. a549 1
  2987. #define LINE_FLAG_SET        0
  2988. d553 10
  2989. @
  2990.  
  2991.  
  2992.  
  2993. 1.21
  2994. log
  2995. @alignment problem.  Sigh.
  2996. @
  2997. text
  2998. @d3 1
  2999. a3 1
  3000.  * $Id: wvglob.h 1.20 1993/07/06 21:09:09 cnolan Exp $
  3001. d5 3
  3002. d343 2
  3003. d368 4
  3004. a371 1
  3005. #define ST_MAIL_WAIT_END          14
  3006. @
  3007.  
  3008.  
  3009.  
  3010. 1.20
  3011. log
  3012. @win32 support
  3013. @
  3014. text
  3015. @d3 1
  3016. a3 1
  3017.  * $Id: wvglob.h 1.19 1993/06/28 17:52:17 rushing Exp $
  3018. d5 3
  3019. d182 1
  3020. a186 1
  3021.    char subject[105];
  3022. @
  3023.  
  3024.  
  3025.  
  3026. 1.19
  3027. log
  3028. @fixed compiler warnings
  3029. @
  3030. text
  3031. @d3 1
  3032. a3 1
  3033.  * $Id: wvglob.h 1.18 1993/06/25 20:27:10 dumoulin Exp rushing $
  3034. d5 3
  3035. d70 4
  3036. @
  3037.  
  3038.  
  3039.  
  3040. 1.18
  3041. log
  3042. @Added StringDate to support POSIX standard numeric dates
  3043. @
  3044. text
  3045. @d3 1
  3046. a3 1
  3047.  * $Id: wvglob.h 1.17 1993/06/22 19:08:56 rushing Exp dumoulin $
  3048. d5 3
  3049. d150 1
  3050. a150 1
  3051.    int  nRanges;        /* # of TypRanges describing seen arts  */
  3052. d424 1
  3053. a424 1
  3054. DEF int article_threshold;
  3055. d456 2
  3056. a457 2
  3057. DEF int LineHeight,CharWidth;  /* # of window units for current font          */
  3058. DEF int ArtLineHeight, ArtCharWidth; /* # of windows units for article font */
  3059. @
  3060.  
  3061.  
  3062.  
  3063. 1.17
  3064. log
  3065. @mail force type selection via dialog
  3066. @
  3067. text
  3068. @d3 1
  3069. a3 1
  3070.  * $Id: wvglob.h 1.16 1993/06/22 16:43:58 bretherton Exp rushing $
  3071. d5 3
  3072. d70 2
  3073. d163 1
  3074. a163 1
  3075. /* (+ 1 1 1 4 2 7 102 74 30 30 4) => 256 */
  3076. d171 3
  3077. a173 2
  3078.    char date[7];
  3079.    char subject[102];
  3080. @
  3081.  
  3082.  
  3083.  
  3084. 1.16
  3085. log
  3086. @remove mail type MT_POP add enable forward menus seperate from mail
  3087. @
  3088. text
  3089. @d3 1
  3090. a3 1
  3091.  * $Id: wvglob.h 1.15 1993/06/22 16:14:21 rushing Exp $
  3092. d5 3
  3093. d462 1
  3094. a462 1
  3095.                    Less then or equal to zero means
  3096. @
  3097.  
  3098.  
  3099.  
  3100. 1.15
  3101. log
  3102. @unsigned long for article number
  3103. @
  3104. text
  3105. @d3 1
  3106. a3 1
  3107.  * $Id: wvglob.h 1.14 1993/06/14 17:05:16 rushing Exp rushing $
  3108. d5 3
  3109. d541 1
  3110. d554 1
  3111. a554 2
  3112. #define MT_POP  2
  3113. #define MT_SMTP 3
  3114. @
  3115.  
  3116.  
  3117.  
  3118. 1.14
  3119. log
  3120. @made the MAILLEN define larger.  48 -> 255
  3121. @
  3122. text
  3123. @d3 1
  3124. a3 1
  3125.  * $Id: wvglob.h 1.13 1993/06/11 00:11:26 rushing Exp rushing $
  3126. d5 3
  3127. d152 1
  3128. a152 1
  3129. /* (+ 1 1 1 2 2 6 105 74 30 30 4) => 256 */
  3130. d158 1
  3131. a158 1
  3132.    unsigned int  number;
  3133. d161 1
  3134. a161 1
  3135.    char subject[104];
  3136. @
  3137.  
  3138.  
  3139.  
  3140. 1.13
  3141. log
  3142. @second merge from Matt Bretherton sources
  3143. @
  3144. text
  3145. @d3 1
  3146. a3 1
  3147.  * $Id: wvglob.h 1.12 1993/06/10 18:25:40 rushing Exp $
  3148. d5 3
  3149. d313 1
  3150. a313 1
  3151. #define MAILLEN 48
  3152. @
  3153.  
  3154.  
  3155.  
  3156. 1.12
  3157. log
  3158. @XOVER support and did_list variable (newsrc&dolist problem fixed)
  3159. @
  3160. text
  3161. @d3 1
  3162. a3 1
  3163.  * $Id: wvglob.h 1.11 1993/06/01 18:23:17 rushing Exp rushing $
  3164. d5 3
  3165. d447 9
  3166. d467 1
  3167. d469 1
  3168. d529 11
  3169. a539 8
  3170.   int MailType   ;
  3171.   int enableMail ;
  3172.   int (*fnMlInit)(HWND hWnd),  
  3173.       (*fnMlLogout)(HWND hWnd), 
  3174.       (*fnMlWinCreate)(HWND hWnd,TypDoc *Doc,int DocType),
  3175.       (*fnMlSend)(HWND hWnd, char *mBuf),
  3176.       (*fnMlForward)(HWND hWnd, TypDoc * Doc);
  3177.   BOOL (**MailHeaderFuncs)(TypDoc * Doc, char *Buf, long int BufLen) ;
  3178. @
  3179.  
  3180.  
  3181.  
  3182. 1.11
  3183. log
  3184. @moved header funcs to headarry.c
  3185. @
  3186. text
  3187. @d3 1
  3188. a3 1
  3189.  * $Id: wvglob.h 1.10 1993/05/29 03:32:30 rushing Exp rushing $
  3190. d5 3
  3191. d151 2
  3192. a152 2
  3193.    char date[6];
  3194.    char subject[105];
  3195. d188 2
  3196. a189 1
  3197. #define MAXCOMMLINE      140
  3198. d300 1
  3199. d342 3
  3200. d399 1
  3201. @
  3202.  
  3203.  
  3204.  
  3205. 1.10
  3206. log
  3207. @threading support
  3208. @
  3209. text
  3210. @d3 1
  3211. a3 1
  3212.  * $Id: wvglob.h 1.9 1993/05/28 17:32:11 rushing Exp rushing $
  3213. d5 3
  3214. d138 4
  3215. a141 2
  3216. /* this can now obsolete the article struct */
  3217. /* #(++,10,#(++,6,#(++,4,#(++,#(++,#(++, 101, 75),30),30)))) */
  3218. d145 1
  3219. d150 1
  3220. a150 1
  3221.    char from[75];
  3222. d159 4
  3223. @
  3224.  
  3225.  
  3226.  
  3227. 1.9
  3228. log
  3229. @made the #defines for ST_XHDR_SUBJ jive with the other new ones.
  3230. @
  3231. text
  3232. @d3 1
  3233. a3 1
  3234.  * $Id: wvglob.h 1.8 1993/05/28 17:18:00 rushing Exp rushing $
  3235. d5 3
  3236. a13 1
  3237.  *
  3238. d109 13
  3239. a121 12
  3240.    char          Subscribed;      /* =TRUE if subscribed to this group.   */
  3241.    char          Selected;        /* =TRUE if selected                    */
  3242.    int           NameLen;         /* # of bytes in group name             */
  3243.    TypDoc        *SubjDoc;        /* points to doc containing subjs       */
  3244.    unsigned int  ServerEstNum;    /* est # of arts in server              */
  3245.    long int  ServerFirst;     /* # of first art that server has.      */
  3246.    long int  ServerLast;      /* # of last art that server has.       */
  3247.    long int  HighestPrevSeen;     /* # of highest art server had in last  */
  3248.                                   /* session, from "s<num>" newsrc field  */
  3249.    HANDLE    header_handle;
  3250.    long int    total_headers;    /* total # of headers in array */
  3251.    int  nRanges;                  /* # of TypRanges describing seen arts  */
  3252. d149 4
  3253. @
  3254.  
  3255.  
  3256.  
  3257. 1.8
  3258. log
  3259. @Added Misc... option to enable threading
  3260. @
  3261. text
  3262. @d3 1
  3263. a3 1
  3264.  * $Id: wvglob.h 1.7 1993/05/24 23:57:22 rushing Exp rushing $
  3265. d5 3
  3266. d296 2
  3267. a297 2
  3268. #define ST_XHDR_RESP               3
  3269. #define ST_XHDR_SUBJ               4
  3270. @
  3271.  
  3272.  
  3273.  
  3274. 1.7
  3275. log
  3276. @rot13 merge (MRB)
  3277. @
  3278. text
  3279. @d3 1
  3280. a3 1
  3281.  * $Id: wvglob.h 1.6 1993/05/18 22:10:45 rushing Exp $
  3282. d5 2
  3283. d8 1
  3284. d274 3
  3285. @
  3286.  
  3287.  
  3288.  
  3289. 1.6
  3290. log
  3291. @smtp support
  3292. @
  3293. text
  3294. @d3 1
  3295. a3 1
  3296.  * $Id: wvglob.h 1.5 1993/05/13 20:00:38 rushing Exp rushing $
  3297. d5 4
  3298. d44 1
  3299. d381 2
  3300. a382 1
  3301. DEF HANDLE hFontArt;      /* handle to font used in Article window. */
  3302. d409 1
  3303. @
  3304.  
  3305.  
  3306.  
  3307. 1.5
  3308. log
  3309. @fancy 'from' in group window
  3310. @
  3311. text
  3312. @d3 1
  3313. a3 1
  3314.  * $Id: wvglob.h 1.4 1993/05/13 16:17:45 rushing Exp rushing $
  3315. d5 3
  3316. d32 1
  3317. a32 1
  3318. #define MAXSUBJECTSTRING 120
  3319. d269 1
  3320. d406 1
  3321. a406 1
  3322. DEF FARPROC lpfnWinVnSubjectDlg;
  3323. d422 5
  3324. a426 3
  3325. DEF char SubjectString[MAXSUBJECTSTRING];
  3326. DEF char AddressString[MAXSUBJECTSTRING];
  3327. DEF char NameString[MAXSUBJECTSTRING];DEF int  SaveArtvRef;   /* volume ref num used only by Mac */
  3328. d473 8
  3329. a480 7
  3330.     int MailType   ;
  3331.     int enableMail ;
  3332.     int (*fnMlInit)(HWND hWnd),  
  3333.             (*fnMlLogout)(HWND hWnd), 
  3334.         (*fnMlWinCreate)(HWND hWnd,TypDoc *Doc,int DocType),
  3335.             (*fnMlSend)(HWND hWnd, char *mBuf) ;
  3336.     BOOL (**MailHeaderFuncs)(TypDoc * Doc, char *Buf, long int BufLen) ;
  3337. d485 2
  3338. a486 1
  3339. #define MT_POP 2
  3340. @
  3341.  
  3342.  
  3343.  
  3344. 1.4
  3345. log
  3346. @article fetch limit support
  3347. @
  3348. text
  3349. @d3 1
  3350. a3 1
  3351.  * $Id: wvglob.h 1.3 1993/03/30 20:49:30 DUMOULIN Exp rushing $
  3352. d5 3
  3353. d368 1
  3354. @
  3355.  
  3356.  
  3357.  
  3358. 1.3
  3359. log
  3360. @MAPI
  3361. @
  3362. text
  3363. @d3 1
  3364. a3 1
  3365.  * $Id: wvglob.h 1.2 1993/03/30 17:08:12 rushing Exp $
  3366. d5 3
  3367. d353 2
  3368. d405 1
  3369. @
  3370.  
  3371.  
  3372.  
  3373. 1.2
  3374. log
  3375. @Added global handle for printer font.
  3376. @
  3377. text
  3378. @d3 5
  3379. a7 2
  3380.  * $Id: wvglob.h%v 1.1 1993/02/16 20:54:42 rushing Exp rushing $
  3381.  * $Log: wvglob.h%v $
  3382. d296 1
  3383. a296 1
  3384.  
  3385. d409 2
  3386. a410 1
  3387. DEF int  SaveArtvRef;   /* volume ref num used only by Mac */
  3388. d451 18
  3389. @
  3390.  
  3391.  
  3392.  
  3393. 1.1
  3394. log
  3395. @Initial revision
  3396. @
  3397. text
  3398. @d3 4
  3399. a6 2
  3400.  * $Id$
  3401.  * $Log$
  3402. d8 1
  3403. d364 1
  3404. @
  3405.  
  3406.